File: mex_struct_util.cpp

package info (click to toggle)
suitesparse 1%3A5.4.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 138,928 kB
  • sloc: ansic: 389,614; cpp: 24,213; makefile: 5,965; fortran: 1,927; java: 1,808; csh: 1,750; ruby: 725; sh: 226; perl: 225; python: 209; sed: 164; awk: 60
file content (47 lines) | stat: -rw-r--r-- 1,305 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "mongoose_mex.hpp"

namespace Mongoose
{

/*****************************************************************************
Function:
    Add Field with Value

Purpose:
    Adds a field to the given mxArray (assumed to be a 1x1 matlab structure)
    and automatically sets it to the given value.
 *****************************************************************************/
void addFieldWithValue
(
    mxArray* matStruct,     /* The mxArray assumed to be a matlab structure. */
    const char* fieldname,  /* The name of the field to create.              */
    const double value      /* The double value to assign to the new field.  */
)
{
    if(!mxIsStruct(matStruct)) return;

    mxAddField(matStruct, fieldname);
    mxSetField(matStruct, 0, fieldname, mxCreateDoubleScalar(value));
}

/*****************************************************************************
Function:
    Reads Field

Purpose:
    Reads the scalar value out of the specified structure.field.
 *****************************************************************************/
double readField
(
    const mxArray* matStruct,
    const char* fieldname
)
{
    double returner = 0.0;

    mxArray* field = mxGetField(matStruct, 0, fieldname);
    if(field != NULL) returner = mxGetScalar(field);
    return returner;
}

}