Extracts values from a specified row of a single-precision sparse matrix.


func sparse_extract_sparse_row_float(_ A: sparse_matrix_float!, _ row: sparse_index, _ column_start: sparse_index, _ column_end: UnsafeMutablePointer<sparse_index>!, _ nz: sparse_dimension, _ val: UnsafeMutablePointer<Float>!, _ jndx: UnsafeMutablePointer<sparse_index>!) -> sparse_status



The sparse matrix, A, which must have been created with sparse_matrix_create_float(_:_:). SPARSE_ILLEGAL_PARAMETER is returned if not met.


The row for value extraction.


The index of the column to start extraction.


On return, holds the column index of the next nonzero value.


The number of values to extract from A. Each of jndx and val are of size nz.


Pointer to array to hold the values extracted from the sparse matrix. The value is extracted from the location specified by the corresponding indices of row and jndx. Must be of size nz elements. If less than nz nonzero values are found, then the last nz - actual_nonzero_count elements of val are untouched.


An array to hold the extracted column indices that correspond to the values in val. Note that these indices are relative to the matrix row and not the starting column index specified by column_start. Returned indices are 0 based (first element of pointer is ptr[0]). Must be of size nz elements.

Return Value

On success val and jndx have been updated with the nonzero values of the row'th row, column_end holds the column index of the next nonzero value, and the number of nonzero values written are returned. If A creation requirements are not met, SPARSE_ILLEGAL_PARAMETER is returned and val and jndx are unchanged.


Extract the first nz values of the row beginning at A[row,column_start] for the sparse matrix A. The number of nonzero values extracted is limited by nz, and the number of nonzero's written to jndx and val are returned. Additionally, the column index of the next nonzero value is returned in column_end. For example if nz is returned, not all nonzero values have been extracted, and a second extract can start from column_end.