The MWSparse
class passes or receives a two-dimensional
sparse numeric array into or from a compiled class method. This class
has seven properties/methods:
Stores the row dimension for the array. The value of NumRows
must
be nonnegative. If the value is zero, the row index is taken from
the maximum of the values in the RowIndex
array.
Stores the column dimension for the array. The value of NumColumns
must
be nonnegative. If the value is zero, the row index is taken from
the maximum of the values in the ColumnIndex
array.
Stores the array of row indices of the nonzero elements of the
array. The value of this property can be any type coercible to a Variant
,
as well as object types, with the restriction that the underlying
array must resolve to or be coercible to a numeric matrix of type Long
.
If the value of NumRows
is nonzero and any row
index is greater than NumRows
, a bad-index error
occurs. An error also results if the number of elements in the RowIndex
array
does not match the number of elements in the Array
property's
underlying array.
Stores the array of column indices of the nonzero elements of
the array. The value of this property can be any type coercible to
a Variant
, as well as object types, with the restriction
that the underlying array must resolve to or be coercible to a numeric
matrix of type Long
. If the value of NumColumns
is
nonzero and any column index is greater than NumColumns
,
a bad-index error occurs. An error also results if the number of elements
in the ColumnIndex
array does not match the number
of elements in the Array
property's underlying
array.
Stores the nonzero array values of the sparse array. The value
of this property can be any type coercible to a Variant
,
as well as object types, with the restriction that the underlying
array must resolve to or be coercible to a numeric matrix of type Double
or Boolean
.
Stores a reference to an MWFlags
object.
This property sets or gets the array formatting and data conversion
flags for a particular sparse array. Each MWSparse
object
has its own MWFlags
property. This property overrides
the value of any flags set on the object whose methods are called.
Creates a copy of an MWSparse
object.
Argument | Type | Description |
---|---|---|
|
| Reference to an uninitialized |
None.
Clone
allocates a new MWSparse
object
and creates a deep copy of the object's contents. Call this function
when a separate object is required instead of a shared copy of an
existing object reference.
The following Visual Basic® sample creates a 5-by-5 tridiagonal sparse array with the following entries:
X = [ 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 ] Sub foo() Dim x As MWSparse Dim rows(1 To 13) As Long Dim cols(1 To 13) As Long Dim vals(1 To 13) As Double Dim I As Long, K As Long On Error GoTo Handle_Error K = 1 For I = 1 To 4 rows(K) = I cols(K) = I + 1 vals(K) = -1 K = K + 1 rows(K) = I cols(K) = I vals(K) = 2 K = K + 1 rows(K) = I + 1 cols(K) = I vals(K) = -1 K = K + 1 Next rows(K) = 5 cols(K) = 5 vals(K) = 2 Set x = New MWSparse x.NumRows = 5 x.NumColumns = 5 x.RowIndex = rows x.ColumnIndex = cols x.Array = vals . . . Exit Sub Handle_Error: MsgBox (Err.Description) End Sub