*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None2468 None2468 A Matlab functionPA single struct in an array, represented by an (ordered) list of key-value pairsKA wrapper for a member of a cell array, which itself simply any other arrayTag for a NULL array;A generic, untyped (void) array, which must be cast (using  )Tag for a generic array<The general Matlab Array type, used for most all Matlab data4A type equivalence between a Matlab and Haskell type)Determine whether the given array is NULL\RHS input argumentsLHS output argument countLHS output arguments  !"#$%J  !"#$%B $#"! %None2468)A Matlab engine instance*YStart Matlab server process. It will automatically be closed down when no longer in use.+Execute matlab statement,>Get a variable with the specified name from MATLAB's workspace->Put a variable into MATLAB's workspace with the specified name.TEvaluate a function with the given arguments and number of results. This automates -$ on arguments (using "hseval_inN"), +, and ," on results (using "hseval_outN").&'()*+,-. &'()*+,-. )*+,-&('.&(')*+,-.None2468 3#The opaque type of MAT file handles4Open a MAT-file using mode.%Close a MAT-file opened with matOpen.5Write array value with the specified name to the MAT-file, deleting any previously existing variable with that name in the MAT-file.6ERead the array value for the specified variable name from a MAT-file.7ARemove a variable with with the specified name from the MAT-file.84Get a list of the names of the arrays in a MAT-file.9&Load all the variables from a MAT file:)Write all the variables to a new MAT file/012345Global. If true, the variable will be written such that when the MATLAB LOAD command loads the variable, it will automatically place it in the global workspace.6789: /0123456789: 3/210456789:/2103456789:None2468<A " that is automatically freed with  =Turn an  into an <. The original ) should not be used after this operation.>Use a <;<=>;<=><=>;;<=>None2468 ?yWays to index an array. Using Matlab semantics, a singleton MSubs [n] is equivalent to a raw 0-based offset (MOffset n).AThe type of array index subscripts, which are the column-major, 0-based indices in each dimension with normal Matlab semantics (flatten along last dimension)BNThe type of array sizes, which are the column-major lengths of each dimensionsC'Complex numeric types. Unfortunately,  only applies to [ types, whereas Matlab allows any numeric type, so some types are (currently) unaccessable.D4The class of types which Matlab consisters "numeric"ELThe class of types which are simple Matlab scalars and can be array elementsFFirst index in arrayGRaw, 0-based array offset indexHaConvert an array size to an index range, which will be of the form ((0,0,0...),(i-1,j-1,k-1,...))I'Convert an index range to an array sizeJ%Get the size form that Matlab likes (length (realMSize s) >= 2)K4Get a more useful size form (no trailing singletons)(?@ABCDEFGHIJK     3  !"#$%?@ABCDEFGHIJK3%$#"! ED CBA?@FGHIKJ'?@ABCDEFGHIJK     None2468M#LA (array of) structsM/The class of standardly typeable array elements8Determine whether the given array is of the correct typeN[Create an array and initialize all its data elements to some default value, usually 0 or []O1Determine if an array is singleton. Equivalent to ! liftM (all (1 ==)) . mxArraySizeTGet the value of the first data element in an array or, more specifically, the value that the array will be interpreted as in scalar contextU<Create a singleton (scalar) array having the specified valueV+Create a column vector from the given list.W(Create a row vector from the given list.XA NULL (empty) arrayY$(Un)cast an array to a generic type.ZWSafely cast a generic array to a NULL array, or return Nothing if the array is not NULL[AReturn the representation of the type of the elements of an array\%Get the size (dimensions) of an array],Set dimension array and number of dimensions_)Convert an array subscript into an offset`Make a deep copy of an arraya)Destroy an array and all of its contents.bEGet the value of the specified array element. Does not check bounds.cJSet an element in an array to the specified value. Does not check bounds.dd a i n gets the sequential list of n items from array a starting at index i. Does not check bounds.ee a i l$ sets the sequential items in array a starting at index i to l. Does not check bounds.f-Get a flat list of all elements in the array.g-Set a flat list of all elements in the array.hcSafely cast a generic array to a type, or return Nothing if the array does not have the proper typei^Create an N-Dimensional structure array having the specified fields; initialize all values to XjGet the names of the fieldskFReturn the contents of the named field for the given element. Returns X0 on no such field or if the field itself is NULLlpSets the contents of the named field for the given element. The input is stored in the array -- no copy is made.m!Add a field to a structure array.nLRemove a field from a structure array. Does nothing if no such field exists.oySet the fields of a struct index to the given value list. The list corresponds to the field list and must match in size.pXDetermine if a struct array is a user defined object, and return its class name, if any.qzSet classname of an unvalidated object array. It is illegal to call this function on a previously validated object array.Complex array access.L !"MNOPQRSTUVWX#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYZ[WXY\]^_`abcdefghZijklmn[opq\]^r_`abcdefghijklmnopqrstuvwx'LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr'YXZ[r\]^a`_MNOPQRSTUVWhbcdefgLijklomnpquL !"M NOPQRSTUVWX#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVYZ[WXY\]^_`abcdefghZijklmn[opq\]^r_`abcdefghijklmnopqrstuvwxNone2468tGeneric v  constructoruGeneric v  accessorvbThe basic immutable (functional) representation of Matlab data structures, representing a generic w=object class name and object data, currently always IMXStruct?field name list and array mapping (index,field index) to valuesyCreate an sized array for v& from a sequential list of elements. BV may contain at most one -1 value, which will be inferred from the length of the list.zCreate a scalar (array) for vGeneric v list constructor. Specified BV may contain at most one -1 value, which will be inferred from the length of the list.Generic v scalar constructorGeneric v array size accessorGeneric v list accessorGeneric v scalar accessorPCreate a sized struct array from a sequential list of consecutive field values (([i0f0,i0f1,...,i0fM,i1f0,i1f1,....,iNfM]).FAccess a struct as list of fields and list of consecutive field values+Create an immutable representation from an  Create a new " from a functional representation.Bstu{vwxyz{|}~|yz}~%stuvwxyz{|}~%v~}|{zyxwstu.stu{v~}|{zyxw|yz}~None2468Generate a temporary Convert directly from % (without freeing the original array) None2468A wrapper for  to allow for a  1 instance. All instances of this type will have ? as iGet an   instance for an S. The resulting object is just a different interface to the same underlying array.Get a  back from its   instanceNone2468  !"#$%/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 456789:;<=>?@ABCDEFGHIJKLMNOOPQRSTUVWXYZ[\]^_`abcdefghijklmn opqrst uvwxyz{|}~                           8BK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~matlab-0.2.0.0Foreign.Matlab.TypesForeign.Matlab.EngineForeign.Matlab.MATForeign.Matlab.Array.AutoForeign.Matlab.ArrayForeign.Matlab.Array.IMXForeign.Matlab.Array.AbleForeign.Matlab.Array.MArrayForeign.Matlab.UtilForeign.Matlab.Internal castMXArray freeMXArrayData.Array.MArrayMArrayForeign.MatlabMFunMStructMCellmCell MAnyArrayMXArrayMUint64MUint32MUint16MUint8MInt64MInt32MInt16MInt8MSingleMDoubleMLogicalMCharMXClass MXClassObject MXClassFun MXClassUint64 MXClassInt64 MXClassUint32 MXClassInt32 MXClassUint16 MXClassInt16 MXClassUint8 MXClassInt8 MXClassSingle MXClassDouble MXClassCharMXClassLogical MXClassStruct MXClassCell MXClassNullMIO EngineEvalArgEvalVar EvalArrayEngine newEngine engineEval engineGetVar engineSetVar engineEvalFunMATMode MATUpdateMATWriteMATReadMATFilematOpenmatSetmatGet matRemovematListmatLoadmatSaveMAnyAutoMXAutomxAuto withMXAutoMIndexMSubsMSizeMComplexMNumericMScalarmStartmOffset mSizeRange mRangeSize realMSize normMSize MStructArrayMXArrayComponent createMXArray isMXScalarmxArrayGetOffsetmxArraySetOffsetmxArrayGetOffsetListmxArraySetOffsetList mxScalarGetcreateMXScalarcreateColVectorcreateRowVector MNullArray anyMXArray castMNull mxArrayClass mxArraySizemxArraySetSize mxArrayLength mIndexOffset copyMXArray mxArrayGet mxArraySetmxArrayGetListmxArraySetList mxArrayGetAll mxArraySetAll createStruct mStructFields mStructGet mStructSetmStructAddFieldmStructRemoveFieldmStructSetFieldsmObjectGetClassmObjectSetClassmxArrayIsComplex IMXArrayElem imxConstrimxArrayIMXData IMXObjectIMXComplexSingleIMXComplexDouble IMXUint64IMXInt64 IMXUint32IMXInt32 IMXUint16IMXInt16IMXUint8IMXInt8 IMXSingle IMXDoubleIMXChar IMXLogical IMXStructIMXCellIMXNullIMXArraylistIMX scalarIMXimxSizeimxList imxScalar listIMXStruct imxStructListimxDataiMXData withIMXDatawithIMXDataList takeIMXDataimxFuniMXFun MatlababletoMatlab fromMatlabwithMatlabArrayfromMatlabArrayMMXArraymxMArray unMmxArrayWith>.>.==.<>=..=<iimapWithmapWith' mapWithRev mapWithArraymapWithArrayLensegment replaceIndexMNullMAnyMTypeisMNull MWSignedIndexMWIndexMWSizeMXFunmStructmxArray MXArrayPtr MXArrayTypeMXUint64MXUint32MXUint16MXUint8MXInt64MXInt32MXInt16MXInt8MXSingleMXDouble MXLogicalMXCharhs2mxmx2hs mxClassOf MXClassIDCBoolboolCcBool mkMXArray withMXArrayunsafeCastMXArray mNullArray$fMType(->)(->)$fMTypeMStructMStruct$fMTypeMCellMCell$fMTypeMNullMNull$fMTypeWord64Word64$fMTypeWord32Word32$fMTypeWord16Word16$fMTypeWord8Word8$fMTypeInt64Int64$fMTypeInt32Int32$fMTypeInt16Int16$fMTypeInt8Int8$fMTypeFloatFloat$fMTypeDoubleDouble$fMTypeWord8Bool$fMTypeWord16Char$fMTypeWord32MXClass EnginePtr EngineTypeengPutVariableengGetVariable engEvalStringengCloseengOpen withEnginematClose MATFilePtr MATFileTypematGetNextVariable matGetDirmxFreematDeleteVariablematGetVariablematPutVariableAsGlobalmatPutVariable matClose_c matOpen_c withMATFilemxDestroyArray_ptrbase Data.ComplexComplex GHC.Float RealFloat $fIxMIndex $fOrdMIndex $fEqMIndex $fShowMIndex$fMNumericWord64$fMNumericWord32$fMNumericWord16$fMNumericWord8$fMNumericInt64$fMNumericInt32$fMNumericInt16$fMNumericInt8$fMNumericFloat$fMNumericDouble$fMScalarComplex$fMScalarWord64$fMScalarWord32$fMScalarWord16$fMScalarWord8$fMScalarInt64$fMScalarInt32$fMScalarInt16 $fMScalarInt8$fMScalarFloat$fMScalarDouble $fMScalarBool $fMScalarChar isMXArray$fMXArrayComponentComplex MXArrayData withArrayDatawithArrayDataOff arrayDataGet arrayDataSetarrayDataGetListarrayDataSetList mxIsComplex mxGetImagDatamxSetClassNamemxGetClassName mxRemoveField mxAddFieldmxSetFieldByNumbermxGetFieldByNumber mxSetField mxGetFieldmxGetFieldNumbermxGetFieldNameByNumbermxGetNumberOfFieldsmxCreateStructArray mxIsObject mxIsStruct mxSetCell mxGetCellmxCreateCellArraymxIsCell mxIsUint64 mxIsUint32 mxIsUint16 mxIsUint8 mxIsInt64 mxIsInt32 mxIsInt16mxIsInt8 mxIsSingle mxGetScalarmxCreateDoubleScalar mxIsDoublemxCreateNumericArraymxCreateStringFromNChars mxGetCharsmxCreateCharArraymxIsCharmxIsLogicalScalarTruemxIsLogicalScalarmxCreateLogicalScalar mxGetLogicalsmxCreateLogicalArray mxIsLogical mxGetDatamxDestroyArraymxDuplicateArraymxCalcSingleSubscriptmxGetNumberOfElementsmxSetDimensionsmxGetDimensionsmxGetNumberOfDimensions mxGetClassIDndims withNSubs withNDimscreateNumericArraystructGetOffsetFieldscastRealwithRealDataOffwithImagDataOff$fMXArrayComponentMStruct$fMXArrayComponentMCell$fMXArrayDataWord64Word64$fMXArrayComponentWord64$fMXArrayDataWord32Word32$fMXArrayComponentWord32$fMXArrayDataWord16Word16$fMXArrayComponentWord16$fMXArrayDataWord8Word8$fMXArrayComponentWord8$fMXArrayDataInt64Int64$fMXArrayComponentInt64$fMXArrayDataInt32Int32$fMXArrayComponentInt32$fMXArrayDataInt16Int16$fMXArrayComponentInt16$fMXArrayDataInt8Int8$fMXArrayComponentInt8$fMXArrayDataFloatFloat$fMXArrayComponentFloat$fMXArrayDataDoubleDouble$fMXArrayComponentDouble$fMXArrayDataWord16Char$fMXArrayComponentChar$fMXArrayDataWord8Bool$fMXArrayComponentBool listIMXArrayscalarIMXArrayIMXFunfixMSizeshowsApp showsMList showsReshapeshowsIMXGenArrayshowsIMXArrayWith showsIMXArray showsComplex showsMStringshowsIMX $fShowIMXData$fIMXArrayElemComplex$fIMXArrayElemComplex0$fIMXArrayElemWord64$fIMXArrayElemInt64$fIMXArrayElemWord32$fIMXArrayElemInt32$fIMXArrayElemWord16$fIMXArrayElemInt16$fIMXArrayElemWord8$fIMXArrayElemInt8$fIMXArrayElemFloat$fIMXArrayElemDouble$fIMXArrayElemChar$fIMXArrayElemBool$fIMXArrayElemIMXData$fMatlabable()$fMatlabable[]$fMatlabable[]0$fMatlabable[]1$fMatlabableInt$fMatlabableDouble$fMatlabableFloat$fMatlabableChar$fMatlabableBoolmmxArraymixmir$fMArrayMMXArrayeIO