1#ifndef CMR_DENSEMATRIX_INTERNAL_H
2#define CMR_DENSEMATRIX_INTERNAL_H
42 size_t index = row * matrix->
numColumns + column;
43 size_t block = matrix->
data[index / (8 *
sizeof(size_t))];
47 return block & (1UL << (index % (8 *
sizeof(size_t))));
57 size_t index = row * matrix->
numColumns + column;
60 size_t* pblock = &matrix->
data[index / (8 *
sizeof(size_t))];
61 *pblock &= ~(1UL << (index % (8 *
sizeof(size_t))));
71 size_t index = row * matrix->
numColumns + column;
74 size_t* pblock = &matrix->
data[index / (8 *
sizeof(size_t))];
75 *pblock |= (1UL << (index % (8 *
sizeof(size_t))));
86 size_t index = row * matrix->
numColumns + column;
87 CMRdbgMsg(8,
"CMRdensebinmatrixSet(%zu,%zu,%d) uses index %zu in block %zu at %zu.\n", row, column, value ? 1 : 0, index,
88 index / (8 *
sizeof(size_t)), (index % (8 *
sizeof(size_t))));
89 size_t* pblock = &matrix->
data[index / (8 *
sizeof(size_t))];
90 size_t mask = (1UL << (index % (8 *
sizeof(size_t))));
105 size_t index = row * matrix->
numColumns + column;
108 size_t* pblock = &matrix->
data[index / (8 *
sizeof(size_t))];
109 size_t mask = (1UL << (index % (8 *
sizeof(size_t))));
static bool CMRdensebinmatrixGet(DenseBinaryMatrix *matrix, size_t row, size_t column)
Definition densematrix.h:36
static void CMRdensebinmatrixFlip(DenseBinaryMatrix *matrix, size_t row, size_t column)
Definition densematrix.h:99
CMR_ERROR CMRdensebinmatrixCreate(CMR *cmr, size_t numRows, size_t numColumns, DenseBinaryMatrix **presult)
Definition densematrix.c:10
static void CMRdensebinmatrixSet0(DenseBinaryMatrix *matrix, size_t row, size_t column)
Definition densematrix.h:51
CMR_ERROR CMRdensebinmatrixFree(CMR *cmr, DenseBinaryMatrix **pmatrix)
Definition densematrix.c:30
static void CMRdensebinmatrixSet1(DenseBinaryMatrix *matrix, size_t row, size_t column)
Definition densematrix.h:65
static void CMRdensebinmatrixSet(DenseBinaryMatrix *matrix, size_t row, size_t column, bool value)
Definition densematrix.h:79
CMR_ERROR
Type for return codes of library functions.
Definition env.h:32
static void CMRdbgMsg(int indent, const char *format,...)
Definition env_internal.h:28
Functionality for sparse matrices.
Definition env_internal.h:45
Dense matrix.
Definition densematrix.h:17
size_t numRows
Definition densematrix.h:19
size_t * data
Definition densematrix.h:18
size_t numColumns
Definition densematrix.h:20