bugGNU Octave - Bugs: bug #49077, Missing MEX function...

 
 

bug #49077: Missing MEX function mxArrayToUTF8String

Submitted by:  Rik <rik5>
Submitted on:  Mon 12 Sep 2016 11:29:43 PM UTC  
 
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Matlab Compatibility
Status:  Confirmed Assigned to:  None
Originator Name:  Open/Closed:  Open
Release:  dev Operating System:  Any

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Sat 12 Aug 2017 04:09:53 PM UTC, comment #7: 

I tested the new mxSetProperty function and it works correctly.

Rik <rik5>
Project Administrator
Fri 11 Aug 2017 09:30:35 PM UTC, comment #6: 

I pushed an implementation of mxSetProperty here:

http://hg.savannah.gnu.org/hgweb/octave/rev/75eff5b667b3

This changeset also moves the real work of getting/setting properties to the octave_value classdef classes.

John W. Eaton <jwe>
Project Administrator
Fri 11 Aug 2017 08:28:51 PM UTC, comment #5: 

mxGetProperty was added recently (http://hg.savannah.gnu.org/hgweb/octave/rev/bd9e719f04cc).  Re-titling bug report to list remaining two missing functions.

Rik <rik5>
Project Administrator
Wed 14 Sep 2016 12:10:30 AM UTC, comment #4: 

I've been reviewing and improving the MEX interface for the 4.2 release, and it's in a lot better position now.  I filed this bug report mostly as a placeholder because I found these functions missing during the work I was doing.  Given that the 4.2 release is imminent, I don't think we need to include a temporary solution.  These functions can be part of 4.4 release with plenty of time to get it done right.

Rik <rik5>
Project Administrator
Tue 13 Sep 2016 04:22:14 PM UTC, comment #3: 

I actually don't need it and wrote it following Rik's bug report. I understand it is probably not the right approach and there is a lower level implementation using Octave API directly.

Guillaume <gyom>
Tue 13 Sep 2016 03:38:08 PM UTC, comment #2: 

If that does what you want, then I suppose it might be OK as a temporary solution but I don't think it's the right thing to att to core Octave.

John W. Eaton <jwe>
Project Administrator
Tue 13 Sep 2016 02:54:13 PM UTC, comment #1: 

What about something like this for mxGetProperty?

mxArray *mxGetProperty(const mxArray *pa, mwIndex index, const char *propname) {
    mxArray *mx = NULL, *mc = NULL, *me = NULL, *md = NULL;
    mxArray *mo[1], *m[2];
    const char **fields = (const char *[]){"type", "subs"};

    mx = mxCreateStructMatrix(1, 2, 2, fields);
    mxSetFieldByNumber(mx, 0, 0, mxCreateString("()"));
    mc = mxCreateCellMatrix(1,1);
    mxSetCell(mc,0,mxCreateDoubleScalar(index+1));
    mxSetFieldByNumber(mx, 0, 1, mc);
    mxSetFieldByNumber(mx, 1, 0, mxCreateString("."));
    mxSetFieldByNumber(mx, 1, 1, mxCreateString(propname));

    m[0] = (mxArray *)pa;
    m[1] = mx;
    me = mexCallMATLABWithTrap(1, mo, 2, m, "subsref");
    mxDestroyArray(mx);
    if (me == NULL) {
        md = mxDuplicateArray((const mxArray*)mo[0]);
    }
    return md;
}

Guillaume <gyom>
Mon 12 Sep 2016 11:29:43 PM UTC, original submission:  

The following three functions are missing from Octave's MEX language interface:

mxGetProperty
mxSetProperty
mxArrayToUTF8String

Whether it is important, I can't say.  But to be complete it should have these functions.

Rik <rik5>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by gyom (Posted a comment)
  • -email is unavailable- added by rik5 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-08-11 jwe SummaryMissing MEX functions mxSetProperty, mxArrayToUTF8String => Missing MEX function mxArrayToUTF8String
    2017-08-11 rik5 SummaryMissing MEX functions mxGetProperty, mxSetProperty, mxArrayToUTF8String => Missing MEX functions mxSetProperty, mxArrayToUTF8String
    2017-08-11 rik5 Dependencies- => bugs #51733 is dependent

    Back to the top


    Powered by Savane 3.5