RTableSetAttribute - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : OpenMaple : VB Application Programming Interface : RTable Manipulation : OpenMaple/VB/RTableSetAttribute

RTableSetAttribute

assign to the attribute RTableSettings field in external code

RTableAppendAttribute

append to the attribute RTableSettings field in external code

RTableSetIndFn

assign to the index_functions RTableSettings field in external code

RTableAppendIndFn

append to the index_functions RTableSettings field in external code

RTableSetType

assign to the data_type and maple_type RTableSettings field in external code

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

RTableSetAttribute(kv, rts, name)

RTableAppendAttribute(kv, rts, name)

RTableSetIndFn(kv, rts, indfn)

RTableAppendIndFn(kv, rts, indfn)

RTableSetType(kv, rts, id, name)

Parameters

kv

-

kernel handle returned by StartMaple

rts

-

RTableSettings structure

name

-

name of an attribute or type

indfn

-

Maple indexing function object

id

-

data_type identifier

Description

• 

These functions are part of the OpenMaple interface to Microsoft Visual Basic.

• 

These functions update an RTableSettings structure. They are provided for convenience. The RTableSettings structure can be modified directly. Some extra argument checking is done.

• 

RTableSetAttribute(kv,rts,name) is equivalent to

rts.attributes = (kv,1)

MapleExpseqAssign kv,1,(kv,name,TRUE)

  

Attributes can be retrieved using the attributes command in Maple.

• 

RTableAppendAttribute(kv,rts,name) is equivalent to the following.

dim attrib, i, n as long

n = MapleNumArgs(kv,rts.attributes)

attrib = NewMapleExpressionSequence(kv,n+1)

For i=1 to n

    MapleExpseqAssign kv, attrib, i, MapleExpseqSelect(kv,attrib,i)

Next i

MapleExpseqAssign kv, attrib, i, MapleToName(kv,name,True)

rts.attributes = attrib

• 

RTableSetIndFn and RTableAppendIndFn are the same as RTableSetAttribute and RTableAppendAttribute except they modify rts.index_functions instead of rts.attributes to set the indexing function property.

• 

RTableSetType sets the data_type and maple_type fields of the RTableSettings structure.  This command is equivalent to the following code.

rts.data_type = id

If id = RTABLE_DAG then

    rts.maple_type = ToMapleName(kv,name,True)

EndIf

Examples

Public Sub TestSetAttribute(ByVal kv As Long)

    Dim rt As Long

    Dim rts As RTableSettings

    ' input (rtable and rows to swap)

    rt = EvalMapleStatement(kv, "rtable(1..6,1..6,(i,j)->i);")

    ' set new properties

    RTableGetSettings kv, rts, rt

    RTableSetIndFn kv, rts, RTABLE_INDEX_SYMMETRIC

    rts.p1 = 2  'band parameters

    rts.p2 = 2

    RTableAppendIndFn kv, rts, RTABLE_INDEX_BAND

    RTableSetType kv, rts, RTABLE_DAG, "integer"

    RTableSetAttribute kv, rts, "red"

    RTableAppendAttribute kv, rts, "square"

    ' make a copy with the new properties

    rt = RTableCopy(kv, rts, rt)

    MapleALGEB_Printf1 kv, "new rtable = %a", rt

End Sub

See Also

OpenMaple

OpenMaple/VB/API

OpenMaple/VB/Examples

rtable

trademarks

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam