Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
RTableCreate - create an rtable in external code
Calling Sequence
RTableCreateDefault(kv, rts, zero, bounds)
RTableCreateDAG(kv, rts, pdata, bounds)
RTableCreateInteger8(kv, rts, pdata, bounds)
RTableCreateInteger16(kv, rts, pdata, bounds)
RTableCreateInteger32(kv, rts, pdata, bounds)
RTableCreateFloat32(kv, rts, pdata, bounds)
RTableCreateFloat64(kv, rts, pdata, bounds)
RTableCreateComplexDAG(kv, rts, pdata, bounds)
RTableCreateComplex64(kv, rts, pdata, bounds)
Parameters
kv
-
kernel handle returned by StartMaple
rts
pointer to an RTableSettings structure
pdata
pointer to array data
bounds
array of lower and upper bounds
Description
These functions are part of the OpenMaple interface to Microsoft Visual Basic.
The RTableCreate function creates a new rtable with the settings specified in rts.
When using RTableCreateDefault the pdata must be set to 0. In this case a data block is allocated and initialized to rts.fill. When using the other RTableCreate functions, you must specify a previously created block of data. It is important that rts.foreign is set to TRUE. Size, storage, data_type, order, and indexing functions must all be considered when managing your data block.
The array, bounds is a list of the lower and upper bounds for each dimension of the rtable. For example, a MxN Matrix has bounds[0] = 1; bounds[1] = M; bounds[2] = 1; bounds[3] = N.
The 2-D format of VB Arrays do not match the Maple rtable data-block memory layout, so pdata must be a pointer to a 1-D Array. 2-D can be achieved using a 1-D Array by simple arithmetic on the index.
Note: Matrix and Vector lower bounds must start at 1, not 0.
Examples
Public Sub TestRTableCreate(ByVal kv As Long)
Dim rts As RTableSettings
Dim rt As Long
Dim bounds(4) As Long
Dim data(16) As Long
Dim n, i, j As Long
' fill in the settings
RTableGetDefaults kv, rts
rts.num_dimensions = 2
rts.subtype = RTABLE_MATRIX
rts.data_type = RTABLE_INTEGER32
rts.foreign = True
rts.order = RTABLE_FORTRAN
n = 4
bounds(0) = 1
bounds(1) = n
bounds(2) = 1
bounds(3) = n
' create the rtable
rt = RTableCreateInteger32(kv, rts, data(0), bounds(0))
' fill the diagonal with ones
For i = 0 To n - 1
data(n * i + i) = 1
Next i
MapleALGEB_Printf1 kv, "rtable = %a", rt
End Sub
See Also
OpenMaple, OpenMaple/VB/API, OpenMaple/VB/Examples, rtable, trademarks
Download Help Document