BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
Data Structures | Defines | Functions
matcommon.h File Reference

Define properties common to all matrix types. More...

#include <oski/common.h>
#include <oski/mangle.h>

Go to the source code of this file.

Data Structures

struct  oski_matcommon_t
 Matrix type-independent data. More...
struct  oski_matspecific_t
 Matrix type-specific representation. More...

Defines

#define INC_OSKI_MATCOMMON_H
 oski/matcommon.h included.
#define OSKI_MATPROP_IS_SQUARE(props)   ((props)->num_rows == (props)->num_cols)
 Returns 1 if the given properties specify a square matrix, and 0 otherwise.
#define OSKI_MATPROP_IS_TRI(props)   ((props)->pattern.is_tri_upper || (props)->pattern.is_tri_lower)
 Returns 1 if the given properties specify a triangular matrix, and 0 otherwise.
Mangled names.
#define oski_matcommon_t   MANGLE_(oski_matcommon_t)
#define oski_matspecific_t   MANGLE_(oski_matspecific_t)
#define oski_TransposePatternProp   MANGLE_(oski_TransposePatternProp)
#define oski_TransposeProps   MANGLE_(oski_TransposeProps)

Functions

oski_inmatprop_t oski_TransposePatternProp (oski_inmatprop_t pattern)
 Given a pattern type, return the corresponding transposed type.
void oski_TransposeProps (oski_matcommon_t *props)
 Transpose common properties.

Detailed Description

Define properties common to all matrix types.


Define Documentation

oski/matcommon.h included.


Function Documentation

Given a pattern type, return the corresponding transposed type.

For example, if the input pattern is MAT_TRI_UPPER, the corresponding transpose pattern is MAT_TRI_LOWER. Similarly, the transpose of MAT_SYMM_UPPER is MAT_SYMM_LOWER.

References MAT_HERM_LOWER, MAT_HERM_UPPER, MAT_SYMM_LOWER, MAT_SYMM_UPPER, MAT_TRI_LOWER, and MAT_TRI_UPPER.

Transpose common properties.

Transpose common properties.

Parameters:
[in,out]propsProperties to transpose. Overwritten on return.

References oski_matcommon_t::is_tri_lower, oski_matcommon_t::is_tri_upper, oski_matcommon_t::num_cols, oski_matcommon_t::num_rows, and oski_matcommon_t::pattern.