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