EvalMapleProcedure - Maple Help

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