public MxArray GetField(int index, string field_name) { AssertClass(ClassID.Struct, "GetField"); IntPtr arrayPtr = LibMx.mxGetField(m_array, index, field_name); return(new MxArray(arrayPtr, this)); }
public void RemoveField(int field_number) { AssertClass(ClassID.Struct, "RemoveField"); AssertFieldExists(field_number); LibMx.mxRemoveField(m_array, field_number); // We can't known from what field our childs where coming, remove them all ClearChilds(); }
public MxArray GetField(int index, int field_number) { AssertClass(ClassID.Struct, "GetField"); AssertFieldExists(field_number); IntPtr arrayPtr = LibMx.mxGetFieldByNumber(m_array, index, field_number); return(new MxArray(arrayPtr, this)); }
public int AddField(string field_name) { AssertClass(ClassID.Struct, "AddField"); int index = LibMx.mxAddField(m_array, field_name); if (index < 0) { //FIXME: Put a better Exception type and error message throw new Exception(String.Format("Unable to add the field {0}", field_name)); } return(index); }
/// <summary> /// Destroy the memory allocated for the array in Matlab. /// </summary> public void Destroy() { CheckPointer(); ClearChilds(); if (m_parent == null) { LibMx.mxDestroyArray(m_array); } else { m_parent.RemoveChild(this); } m_array = IntPtr.Zero; }
public void SetField(int index, int field_number, MxArray value) { AssertClass(ClassID.Struct, "SetField"); AssertFieldExists(field_number); if (value.Parent != null) { // We make a copy so we are sure that we could use this array as we wish. // We don't do this otherwise for performance reasons. value = value.Clone(); } IntPtr oldFieldValue = LibMx.mxGetFieldByNumber(m_array, index, field_number); RemoveChilds(oldFieldValue); LibMx.mxDestroyArray(oldFieldValue); LibMx.mxSetFieldByNumber(m_array, index, field_number, value.m_array); value.Parent = this; }
public string GetFieldName(int field_number) { AssertClass(ClassID.Struct, "GetFieldName"); AssertFieldExists(field_number); return(LibMx.mxGetFieldNameByNumber(m_array, field_number)); }
/// <summary> /// Get the index of the field named field_name, returns -1 if the field doesn't /// exists. /// </summary> int _GetFieldNumber(string field_name) { AssertClass(ClassID.Struct, "GetFieldNumber"); return(LibMx.mxGetFieldNumber(m_array, field_name)); }
public static MxArray CreateString(string str) { return(new MxArray(LibMx.mxCreateString(str))); }
public static MxArray CreateArray(int[] dims, ClassID classid, Complexity complexFlag) { return(new MxArray(LibMx.mxCreateNumericArray(dims.Length, dims, classid, complexFlag))); }
public MxArray Clone() { CheckPointer(); return(new MxArray(LibMx.mxDuplicateArray(m_array))); }
public static bool IsInf(double value) { return(LibMx.mxIsInf(value)); }
public static bool IsFinite(double value) { return(LibMx.mxIsFinite(value)); }