public static extern bool mxIsSparse(SafeArrayPtr pa);
internal mxCellArray(SafeArrayPtr pa) : base(pa, mxArrayType.Cell) { }
internal mxArray(SafeArrayPtr pa, mxArrayType arrayType) { CreateArray(pa, arrayType); }
public extern static void mxSetN(SafeArrayPtr pa, int n);
public extern static void mxGetNChars(SafeArrayPtr pa, char[] buf, int nChars);
public extern static int mxGetFieldNumber(SafeArrayPtr pa, string name);
public extern static void mxSetField(SafeArrayPtr pa, int i, string fieldname, SafeArrayPtr value);
public static extern int mxSetDimensions(SafeArrayPtr pa, int size, int ndims);
public static extern string mxArrayToString(SafeArrayPtr pa);
public static extern void mxSetCell(SafeArrayPtr pa, int i, SafeArrayPtr value);
public static extern int mxSetClassName(SafeArrayPtr pa, string classname);
public static extern void mxRemoveField(SafeArrayPtr pa, int field);
public static extern bool mxIsUint8(SafeArrayPtr pa);
public static extern bool mxIsStruct(SafeArrayPtr pa);
public extern static int mxGetNumberOfFields(SafeArrayPtr pa);
public static extern void mxSetField(SafeArrayPtr pa, int i, string fieldname, SafeArrayPtr value);
public extern static void mxSetCell(SafeArrayPtr pa, int i, SafeArrayPtr value);
public static extern void mxSetFieldByNumber(SafeArrayPtr pa, int i, int fieldnum, SafeArrayPtr value);
public extern static void mxSetFieldByNumber(SafeArrayPtr pa, int i, int fieldnum, SafeArrayPtr value);
public static extern void mxSetFromGlobalWS(SafeArrayPtr pa, [MarshalAs(UnmanagedType.U1)]bool global);
public extern static void mxSetProperty(SafeArrayPtr pa, int i, string propname, SafeArrayPtr value);
public static extern void mxSetImagData(SafeArrayPtr pa, IntPtr newdata);
public extern static IntPtr mxGetLogicals(SafeArrayPtr pa);
public static extern void mxSetJc(SafeArrayPtr pa, int[] newir);
public extern static int mxGetString(SafeArrayPtr pa, char[] buf, int buflen);
public static extern void mxSetM(SafeArrayPtr pa, int m);
internal void CreateArray(SafeArrayPtr pa, mxArrayType arrayType) { this.NativeObject = pa; this.ArrayType = arrayType; CheckActive(); }
public static extern void mxSetN(SafeArrayPtr pa, int n);
public static extern int engPutVariable(SafeEnginePtr engine, string variableName, SafeArrayPtr ap);
public static extern int mxCalcSingleSubscript(SafeArrayPtr pa, int nsubs, int[] subs);
public extern static int mxCalcSingleSubscript(SafeArrayPtr pa, int nsubs, int[] subs);
public static extern void mxSetNzmax(SafeArrayPtr pa, int nzmax);
public extern static SafeArrayPtr mxGetCell(SafeArrayPtr pa, int i);
public static extern void mxSetPr(SafeArrayPtr pa, IntPtr pr);
public extern static string mxGetFieldNameByNumber(SafeArrayPtr pa, int n);
public static extern void mxSetProperty(SafeArrayPtr pa, int i, string propname, SafeArrayPtr value);
public extern static SafeArrayPtr mxGetFieldByNumber(SafeArrayPtr pa, int i, int fieldnum);
public static extern void mxSetUserBits(SafeArrayPtr pa, int value);
public extern static SafeArrayPtr mxGetField(SafeArrayPtr pa, int i, string fieldname);
internal mxStructArray(SafeArrayPtr pa) : base(pa, mxArrayType.Struct) { }
public extern static IntPtr mxGetProperty(SafeArrayPtr pa, int i, string propname);
public extern static void mxSetFromGlobalWS(SafeArrayPtr pa, [MarshalAs(UnmanagedType.U1)] bool global);
public extern static string mxGetClassName(SafeArrayPtr pa);
public extern static int mxGetM(SafeArrayPtr pa);
public extern static int mxSetDimensions(SafeArrayPtr pa, int size, int ndims);
public extern static void mxSetM(SafeArrayPtr pa, int m);
public extern static bool mxIsLogicalScalarTrue(SafeArrayPtr pa);
public extern static void mxGetIr(SafeArrayPtr pa, int[] newir);
public extern static IntPtr mxGetData(SafeArrayPtr pa);
public extern static int[] mxGetJc(SafeArrayPtr pa);
public extern static string mxArrayToString(SafeArrayPtr pa);
public extern static void mxSetJc(SafeArrayPtr pa, int[] newir);
/// <summary> /// Create a mxArray with a mxArray pointer. /// </summary> /// <param name="pa"></param> /// <returns></returns> internal static mxArray Create(SafeArrayPtr pa) { if (pa.IsInvalid) throw new ArgumentException("pa"); mxClassID clsId = matrix.mxGetClassID(pa); switch (clsId) { case mxClassID.mxDOUBLE_CLASS: case mxClassID.mxINT16_CLASS: case mxClassID.mxINT32_CLASS: case mxClassID.mxINT64_CLASS: case mxClassID.mxINT8_CLASS: case mxClassID.mxSINGLE_CLASS: case mxClassID.mxUINT16_CLASS: case mxClassID.mxUINT32_CLASS: case mxClassID.mxUINT64_CLASS: case mxClassID.mxUINT8_CLASS: return new mxNumericArray(pa); case mxClassID.mxLOGICAL_CLASS: return new mxLogicalArray(pa); case mxClassID.mxCELL_CLASS: return new mxCellArray(pa); case mxClassID.mxCHAR_CLASS: return new mxCharArray(pa); case mxClassID.mxSTRUCT_CLASS: return new mxStructArray(pa); default: throw new NotSupportedException(); } }
public extern static int mxGetNzmax(SafeArrayPtr pa);
internal mxArray(SafeArrayPtr pa) { this.NativeObject = pa; CheckActive(); }
public extern static void mxSetNzmax(SafeArrayPtr pa, int nzmax);
public static extern int engPutArray(SafeEnginePtr engine, SafeArrayPtr mp);
public extern static int mxGetElementSize(SafeArrayPtr pa);
internal mxCharArray(SafeArrayPtr pa) : base(pa, mxArrayType.Char) { }
public static extern bool mxIsSingle(SafeArrayPtr pa);