C OpenMaple and ExternalCalling Application Program Interface (API)
Description
OpenMaple-specific Functions
Conversion from Maple Objects
Conversion to Maple Objects
Data Queries
Rectangular Table (Vector, Matrix, Array) Manipulation
List and Table Manipulation
Output
Assignment and Selection Functions
Memory and Foreign Object Management
System and Maple Properties
Evaluation and Error Handling
All functions can be used in external code with OpenMaple and define_external (except OpenMaple-specific functions, which can be used only with OpenMaple).
These functions can only be called from threads created within Maple or when using OpenMaple, the thread which called StartMaple. Calling these routines from other threads is unsupported and may cause instability. See the multithreaded page for more information.
The following is a list of functions that can only be used as part of OpenMaple. These include functions for starting, restarting, and stopping a Maple session as well as functions for controlling standard input and output.
callBackCallBack
errorCallBack
queryInterrupt
readLineCallBack
redirectCallBack
RestartMaple
StartMaple
statusCallBack
StopMaple
streamCallBack
textCallBack
The following is a list of functions that can be used to convert a Maple object to a native C data structure.
MapleToComplexFloat32
MapleToComplexFloat64
MapleToComplexFloatDAG
MapleToFloat32
MapleToFloat64
MapleToGMPInteger
MapleToInteger16
MapleToInteger32
MapleToInteger64
MapleToInteger8
MapleToM_BOOL
MapleToM_INT
MapleToPointer
MapleToString
The following is a list of functions that can be used to convert a native C data structure to a Maple object.
NewMapleExpressionSequence
ToMapleBoolean
ToMapleChar
ToMapleComplex
ToMapleComplexFloat
ToMapleExpressionSequence
ToMapleFloat
ToMapleFunction
ToMapleInteger
ToMapleInteger64
ToMapleName
ToMapleNULL
ToMapleNULLPointer
ToMaplePointer
ToMapleRelation
ToMapleString
ToMapleUneval
The following is a list of functions that can be used to test for a kind of Maple object.
IsMapleAssignedName
IsMapleComplexNumeric
IsMapleEquation
IsMapleFraction
IsMapleInteger
IsMapleInteger16
IsMapleInteger32
IsMapleInteger64
IsMapleInteger8
IsMapleList
IsMapleLogical
IsMapleName
IsMapleNULL
IsMapleNumeric
IsMaplePointer
IsMaplePointerNULL
IsMapleProcedure
IsMapleRelation
IsMapleRTable
IsMapleSet
IsMapleStop
IsMapleString
IsMapleTable
IsMapleUnassignedName
IsMapleUnnamedZero
MapleNumArgs
The following is a list of functions that can be used to create, modify, inspect, and otherwise manipulate rtables.
RTableAppendAttribute
RTableAppendIndFn
RTableAssign
RTableCopy
RTableCopyImPart
RTableCopyRealPart
RTableCreate
RTableDataBlock
RTableGetDefaults
RTableGetSettings
RTableIndFn
RTableIndFnArgs
RTableIsReal
RTableLowerBound
RTableNumDimensions
RTableNumElements
RTableSelect
RTableSetAttribute
RTableSetIndFn
RTableSetType
RTableSparseCompact
RTableSparseIndexRow
RTableSparseIndexSort
RTableSparseResize
RTableSparseSetNumElems
RTableSparseSize
RTableUpperBound
RTableZipReIm
The following is a list of functions that can be used to create and access lists and tables.
MapleListAlloc
MapleListAssign
MapleListSelect
MapleTableAlloc
MapleTableAssign
MapleTableDelete
MapleTableHasEntry
MapleTableSelect
The following is a list of functions that can be used to send formatted output to be displayed through the Maple user interface.
MapleALGEB_Printf
MapleALGEB_SPrintf
MaplePrintf
MapleUserInfo
The following is a list of functions that can be used to assign to variables, and select data from certain kinds of Maple objects.
MapleAssign
MapleAssignIndexed
MapleSelectImaginaryPart
MapleSelectIndexed
MapleSelectRealPart
The following is a list of functions that can be used to create custom external data structures that refer to live Maple objects.
MapleAlloc
MapleDispose
MapleGcAllow
MapleGcIsProtected
MapleGcMark
MapleGcProtect
MaplePointerSetDisposeFunction
MaplePointerSetMarkFunction
MaplePointerSetPrintFunction
MaplePointerSetType
MaplePointerType
The following is a list of functions that can be used to query various system and Maple properties.
MapleHelp
MapleKernelOptions
MapleLibName
The following is a list of functions that can be used to evaluate objects, functions, and expressions, and handle errors that may arise during evaluation.
ComplexTohfData
DoubleTohfData
EvalhfDataProc
EvalhfMapleProc
EvalMapleProc
EvalMapleStatement
ImaginaryhfData
MapleCheckInterrupt
MapleCreateContinuationTask
MapleEval
MapleEvalhf
MapleGetInterruptValue
MapleMutexCreate
MapleMutexDestroy
MapleMutexLock
MapleMutexUnlock
MaplePopErrorProc
MaplePopGMPAllocators
MaplePushErrorProc
MaplePushGMPAllocators
MapleRaiseError
MapleRaiseError1
MapleRaiseError2
MapleRegisterThread
MapleStartChildTask
MapleStartRootTask
MapleTaskReturn
MapleTohfData
MapleTrapError
MapleUnique
MapleUnregisterThread
RealhfData
ToMaplehfData
See Also
CustomWrapper
define_external
OpenMaple
OpenMaple/C/Examples
Download Help Document