NewMapleExpressionSequence - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


ToMapleBoolean

convert an integer to true, false, or FAIL

ToMapleChar

convert an integer to a string of length 1

ToMapleComplex

convert a (re,im) hardware float pair to a Maple Complex object

ToMapleComplexFloat

convert a (re,im) software float pair to a Maple Complex object

ToMapleExpressionSequence

convert a series of objects to an expression sequence

NewMapleExpressionSequence

create an empty expression sequence

ToMapleInteger

convert a hardware integer to a Maple integer

ToMapleInteger64

convert a 64-bit hardware integer to a Maple integer

ToMapleFloat

convert a hardware float to a Maple software float

ToMapleHFloat

convert a hardware float to a Maple hardware float

ToMapleFunction

create a Maple function object

ToMapleName

create a named Maple variable

ToMapleNULL

create a Maple NULL

ToMapleNULLPointer

create a Maple zero integer

ToMaplePointer

create a MaplePointer object with embedded external data

ToMapleRelation

create the specified Maple relation object

ToMapleString

convert a character array to a Maple string

ToMapleUneval

delay evaluation on the given object

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

ToMapleBoolean(kv, i)

ToMapleChar(kv, i)

ToMapleComplex(kv, re, im)

ToMapleComplexFloat(kv, m_re, m_im)

ToMapleExpressionSequence(kv, n, arg1, arg2, ..., argN)

NewMapleExpressionSequence(kv, n)

ToMapleInteger(kv, i)

ToMapleInteger64(kv, ll)

ToMapleFloat(kv, f)

ToMapleFunction(kv, fname, n, arg1, arg2, ..., argN)

ToMapleName(kv, str, is_global)

ToMapleNULL(kv)

ToMapleNULLPointer(kv)

ToMaplePointer(kv, p, i)

ToMapleRelation(kv, rel, lhs, rhs)

ToMapleString(kv, str)

ToMapleUneval(kv, s)

Parameters

kv

-

kernel handle of type MKernelVector

i

-

hardware integer

re

-

double-precision hardware float

im

-

double-precision hardware float

m_re

-

Maple float object of type ALGEB

m_im

-

Maple float object of type ALGEB

n

-

hardware integer

arg1, ..., argN

-

Maple objects of type ALGEB

ll

-

64-bit hardware integer

f

-

double-precision hardware float

fname

-

Maple name object of type ALGEB

str

-

string or character array

is_global

-

hardware integer

p

-

pointer to anything

rel

-

string or character array

lhs

-

Maple object of type ALGEB

rhs

-

Maple object of type ALGEB

s

-

Maple object of type ALGEB

Description

• 

These functions can be used in external code with OpenMaple or define_external.

• 

The ToMaple* functions create Maple objects. The parameter types and return values are defined in the supplied header files.

• 

ToMapleBoolean is three valued. When b is zero, it returns the Maple false object. If b is −1, it returns the Maple FAIL object. If b is non-zero (and not -1), it returns the Maple true object.

• 

ToMapleChar returns a single character Maple string object.

• 

ToMapleComplex converts the pair of hardware floats, re and im to the Maple expression, re+Iim, and returns this object. ToMapleComplexFloat converts a pair of Maple software float objects to the same structure.

• 

ToMapleExpressionSequence creates and returns a Maple expression sequence and fills it with the n Maple objects, arg1, arg2, ..., argN.

• 

NewMapleExpressionSequence creates and returns a Maple expression sequence with space for n Maple objects.  The returned object can be filled in by assigning directly to the returned object as if it were an array.  For example, r = NewMapleExpressionSequence(kv,2); creates an expression sequence with space for two objects.  It can be filled in by assigning r[1] = obj1; r[2] = obj2;.  Note that the first element is located at r[1], not r[0].  Once filled in, an expression sequence must not be changed.  Also, never change an expression sequence that was not created by a call to NewMapleExpressionSequence. For an explanation of why some objects are not mutable, see MapleUnique.

• 

ToMapleFunction creates and returns a Maple function object of the form fname( arg1, arg2, ..., argN).

• 

ToMapleName returns a Maple NAME DAG with the name str. If is_global is set to TRUE (1), the name is global in the Maple name space. Otherwise, if is_global is FALSE (0), the name is a unique exported local variable.

• 

ToMapleNULL returns the Maple NULL object.

• 

ToMapleNULLPointer returns the Maple zero integer object. This is the WRAPPER representation of a NULL pointer passed to a procedure. This is not to be confused with the value returned by ToMapleNULL.  It is also not related to a MaplePointer object.

• 

ToMaplePointer creates a MaplePointer object. The p parameter is generally a data pointer. The i parameter is a unique integer identifier for your pointer data.  It can be retrieved by calling MaplePointerType.

• 

ToMapleRelation forms the relation lhs rel rhs, where rel is one of "=", "<", ">", "and", "implies", "not", "or", and, "xor".

• 

ToMapleString copies the character string, str to a Maple STRING object and returns it. When using the Fortran API the length of the given string must also be passed.

• 

Other functions exist for creating Maple Array objects, list objects, and table objects. For more information, see RTableCreate, MapleListAlloc, and MapleTableAlloc.

Examples

    #include <sys/types.h>

    #include <time.h>

    #include "maplec.h"

    ALGEB M_DECL TimeString( MKernelVector kv, ALGEB args )

    {

    time_t c;

    c = time(&c);

    return( ToMapleString(kv,asctime(localtime(&c))) );

    }

Execute the external function from Maple.

withExternalCalling&colon;

dllExternalLibraryNameHelpExamples&colon;

todayDefineExternalTimeString&comma;dll&colon;

today

Fri Mar 1 00:37:59 2024

(1)

See Also

CustomWrapper

define_external

OpenMaple

OpenMaple/C/API