Класс MWSparse

MWSparse класс передает или получает двумерный разреженный числовой массив в или из метода скомпилированного класса. Этот класс имеет семь свойств/методов:

Свойство NumRows как долго

Хранит размерность строки для массива. Значение NumRows mustBeNonnegative. Если значение является нулем, индекс строки взят из максимума значений в RowIndex массив.

Свойство NumColumns как долго

Хранит размерность столбца для массива. Значение NumColumns mustBeNonnegative. Если значение является нулем, индекс строки взят из максимума значений в ColumnIndex массив.

Свойство RowIndex как вариант

Хранит массив индексов строки ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительным к Variant, а также типы объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Long. Если значение NumRows является ненулевым, и любой индекс строки больше NumRows, ошибка плохого индекса происходит. Ошибка также приводит если число элементов к RowIndex массив не совпадает с числом элементов в Array основной массив свойства.

Свойство ColumnIndex как вариант

Хранит массив индексов столбца ненулевых элементов массива. Значение этого свойства может быть любым типом, принудительным к Variant, а также типы объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Long. Если значение NumColumns является ненулевым, и любой индекс столбца больше NumColumns, ошибка плохого индекса происходит. Ошибка также приводит если число элементов к ColumnIndex массив не совпадает с числом элементов в Array основной массив свойства.

Массив свойства как вариант

Хранит ненулевые значения массивов разреженного массива. Значение этого свойства может быть любым типом, принудительным к Variant, а также типы объектов, с ограничением, что основной массив должен разрешить или быть принудительным к числовой матрице типа Double или Boolean.

Свойство MWFlags как MWFlags

Хранит ссылку на MWFlags объект. Это наборы свойств или получает форматирование массивов и флаги преобразования данных для конкретного разреженного массива. Каждый MWSparse объект имеет свой собственный MWFlags свойство. Это свойство заменяет значение любого набора флагов на объекте, методы которого называются.

Клон Sub (ppSparse как MWSparse)

Создает копию MWSparse объект.

Параметры

АргументВводОписание

ppSparse

MWSparse

Ссылка на неинициализированный MWSparse объект получить копию

Возвращаемое значение

'none'.

Комментарии

Clone выделяет новый MWSparse возразите и создает глубокую копию содержимого объекта. Вызовите эту функцию, когда отдельный объект будет требоваться вместо разделяемой копии существующей ссылки на объект.

Пример

Следующая Визуальная выборка Basic® создает трехдиагональный разреженный массив 5 на 5 со следующими записями:

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