MapleEval - evaluate a Maple object in external code
EvalMapleProcedure - evaluate a Maple function object in external code
EvalMapleStatement - parse and evaluate a command string in external code
|
Calling Sequence
|
|
MapleEval(kv, s)
EvalMapleProcedure(kv, fn, args)
EvalMapleStatement(kv, statement)
|
|
Parameters
|
|
kv
|
-
|
kernel handle returned by StartMaple
|
s
|
-
|
Maple object
|
fn
|
-
|
Maple name or procedure object
|
args
|
-
|
Maple expression sequence object
|
statement
|
-
|
command string
|
|
|
|
|
Description
|
|
•
|
These functions are part of the OpenMaple interface to Microsoft Visual Basic.
|
•
|
The EvalMapleStatement function parses and executes the command string given in the statement argument. MapleAssign can be used to give external objects names that can be referenced in a command string. The command string must be terminated by a colon or semicolon. When using this command in OpenMaple, a colon suppresses the display of output.
|
•
|
The MapleEval function evaluates the given Maple object, s. Evaluation is performed according to the rules used by the eval command.
|
•
|
The EvalMapleProcedure function invokes the procedure, fn(args), where args is an expression sequence of arguments, possibly created by NewMapleExpressionSequence. If args is a single item, that object can be passed in directly instead of creating an expression sequence. The result of the evaluation is returned as a Maple object. The fn parameter must be a name or procedure object.
|
|
|
Examples
|
|
Sub SampleStats(ByVal kv As Long)
|
Dim mean, sd, f, list, args As Long
|
' create a data list
|
list = MapleListAlloc(kv, 6)
|
MapleListAssign kv, list, 1, ToMapleInteger(kv, 1)
|
MapleListAssign kv, list, 2, ToMapleInteger(kv, 33)
|
MapleListAssign kv, list, 3, ToMapleInteger(kv, 42)
|
MapleListAssign kv, list, 4, ToMapleInteger(kv, 50)
|
MapleListAssign kv, list, 5, ToMapleInteger(kv, 55)
|
MapleListAssign kv, list, 6, ToMapleInteger(kv, 67)
|
' build the argument expression sequence
|
args = NewMapleExpressionSequence(kv, 1)
|
MapleExpseqAssign kv, args, 1, list
|
' get the name of the function to call, and compute the mean
|
f = EvalMapleStatement(kv, "Statistics[Mean];")
|
mean = EvalMapleProcedure(kv, f, args)
|
Write #1, "Mean", MapleToFloat64(kv, mean)
|
' compute the standard deviation using a different method -- build
|
' up the function object and call MapleEval on it
|
f = EvalMapleStatement(kv, "Statistics[StandardDeviation];")
|
f = ToMapleFunction(kv, f, args)
|
sd = MapleEval(kv, f)
|
Write #1, "Standard Deviation", MapleToFloat64(kv, sd)
|
End Sub
|
|
|
|
|