BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
Functions

Generalized compressed sparse row (GCSR) implementation. More...

#include <oski/config.h>
#include <stdarg.h>
#include <oski/common.h>
#include <oski/matrix.h>
#include <oski/GCSR/format.h>
#include <oski/GCSR/module.h>
#include <oski/CSR/module.h>
#include <oski/xforms_internal.h>

Functions

const char * oski_GetShortDesc (void)
 Method: Returns a short string description of the module.
const char * oski_GetLongDesc (void)
 Method: Returns a "long" string description of the module.
void oski_InitModule (void)
 Method: Initialize the module.
void oski_CloseModule (void)
 Method: Shutdown the module.
static int ExpandSymm (const oski_matCSR_t *mat, const oski_matcommon_t *props, oski_matCSR_t **p_mat_full)
static oski_index_t CountZeroRows (oski_index_t m, const oski_index_t *ptr)
 Returns the number of rows of the CSR matrix A that are structurally zero.
static int ConvertToCSR (oski_index_t m_orig, const oski_index_t *ptr_orig, const oski_index_t *ind_orig, const oski_value_t *val_orig, oski_index_t base, int has_unit_diag, oski_index_t *p_m, oski_index_t **p_ptr, oski_index_t **p_rind, oski_index_t **p_cind, oski_value_t **p_val)
 Returns 0 on success, or an error code on failure.
void * oski_CreateMatReprFromCSR (const oski_matCSR_t *mat, const oski_matcommon_t *props,...)
 Method: Instantiate from an existing CSR representation.
void oski_DestroyMatRepr (void *mat)
 Method: Destroy matrix type-specific representation.
void * oski_CopyMatRepr (const void *mat, const oski_matcommon_t *props)
 Method: Duplicate a matrix representation.
oski_matCSR_toski_ConvertMatReprToCSR (const void *mat, const oski_matcommon_t *props)
 Method: Convert to CSR format.
oski_index_t oski_FindRowGCSR (const oski_matGCSR_t *A, oski_index_t i0)
 Returns the index in 'rind' of a given row (0-based index), or an integer less than 0 on error.
int oski_CreateLuaMatReprFromCSR (lua_State *L)
 Matrix-type specific method to convert from a CSR matrix, with arguments passed on the Lua stack.

Detailed Description

Generalized compressed sparse row (GCSR) implementation.


Function Documentation

static int ConvertToCSR ( oski_index_t  m_orig,
const oski_index_t *  ptr_orig,
const oski_index_t *  ind_orig,
const oski_value_t *  val_orig,
oski_index_t  base,
int  has_unit_diag,
oski_index_t *  p_m,
oski_index_t **  p_ptr,
oski_index_t **  p_rind,
oski_index_t **  p_cind,
oski_value_t **  p_val 
) [static]

Returns 0 on success, or an error code on failure.

References CountZeroRows(), ERR_OUT_OF_MEMORY, oski_CopyMem, oski_Free, oski_MultiMalloc(), and VAL_SET_ONE.

Referenced by oski_CreateMatReprFromCSR().

static oski_index_t CountZeroRows ( oski_index_t  m,
const oski_index_t *  ptr 
) [static]

Returns the number of rows of the CSR matrix A that are structurally zero.

Todo:
This routine duplicates the functionality of oski_CountZeroRowsCSR(), and could be eliminated.

Referenced by ConvertToCSR().

int oski_CreateLuaMatReprFromCSR ( lua_State *  L)

Matrix-type specific method to convert from a CSR matrix, with arguments passed on the Lua stack.

Matrix-type specific method to convert from a CSR matrix, with arguments passed on the Lua stack.

  1. Destination matrix type ('BCSR')
  2. Source matrix ('CSR')
  3. Row block size ('r')
  4. Column block size ('c')

Matrix-type specific method to convert from a CSR matrix, with arguments passed on the Lua stack.

  1. Destination matrix type ('MBCSR')
  2. Source matrix ('CSR')
  3. Row block size ('r')
  4. Column block size ('c')