MagickCore 7.1.0
Convert, Edit, Or Compose Bitmap Images
matrix.c File Reference
Include dependency graph for matrix.c:

Go to the source code of this file.

Data Structures

struct  _MatrixInfo
 

Macros

#define GaussJordanSwap(x, y)
 

Functions

static MagickOffsetType WriteMatrixElements (const MatrixInfo *magick_restrict matrix_info, const MagickOffsetType offset, const MagickSizeType length, const unsigned char *magick_restrict buffer)
 
static MagickBooleanType SetMatrixExtent (MatrixInfo *magick_restrict matrix_info, MagickSizeType length)
 
MagickExport MatrixInfoAcquireMatrixInfo (const size_t columns, const size_t rows, const size_t stride, ExceptionInfo *exception)
 
MagickExport double ** AcquireMagickMatrix (const size_t number_rows, const size_t size)
 
MagickExport MatrixInfoDestroyMatrixInfo (MatrixInfo *matrix_info)
 
MagickPrivate MagickBooleanType GaussJordanElimination (double **matrix, double **vectors, const size_t rank, const size_t number_vectors)
 
MagickExport size_t GetMatrixColumns (const MatrixInfo *matrix_info)
 
static ssize_t EdgeX (const ssize_t x, const size_t columns)
 
static ssize_t EdgeY (const ssize_t y, const size_t rows)
 
static MagickOffsetType ReadMatrixElements (const MatrixInfo *magick_restrict matrix_info, const MagickOffsetType offset, const MagickSizeType length, unsigned char *magick_restrict buffer)
 
MagickExport MagickBooleanType GetMatrixElement (const MatrixInfo *matrix_info, const ssize_t x, const ssize_t y, void *value)
 
MagickExport size_t GetMatrixRows (const MatrixInfo *matrix_info)
 
MagickPrivate void LeastSquaresAddTerms (double **matrix, double **vectors, const double *terms, const double *results, const size_t rank, const size_t number_vectors)
 
MagickExport ImageMatrixToImage (const MatrixInfo *matrix_info, ExceptionInfo *exception)
 
MagickExport MagickBooleanType NullMatrix (MatrixInfo *matrix_info)
 
MagickExport double ** RelinquishMagickMatrix (double **matrix, const size_t number_rows)
 
MagickExport MagickBooleanType SetMatrixElement (const MatrixInfo *matrix_info, const ssize_t x, const ssize_t y, const void *value)
 

Macro Definition Documentation

◆ GaussJordanSwap

#define GaussJordanSwap (   x,
 
)
Value:
{ \
if ((x) != (y)) \
{ \
(x)+=(y); \
(y)=(x)-(y); \
(x)=(x)-(y); \
} \
}

Function Documentation

◆ AcquireMagickMatrix()

MagickExport double ** AcquireMagickMatrix ( const size_t  number_rows,
const size_t  size 
)

Definition at line 317 of file matrix.c.

References AcquireQuantumMemory(), and RelinquishMagickMemory().

Referenced by GenerateCoefficients().

◆ AcquireMatrixInfo()

◆ DestroyMatrixInfo()

◆ EdgeX()

static ssize_t EdgeX ( const ssize_t  x,
const size_t  columns 
)
inlinestatic

Definition at line 646 of file matrix.c.

Referenced by GetMatrixElement().

◆ EdgeY()

static ssize_t EdgeY ( const ssize_t  y,
const size_t  rows 
)
inlinestatic

Definition at line 655 of file matrix.c.

Referenced by GetMatrixElement().

◆ GaussJordanElimination()

MagickPrivate MagickBooleanType GaussJordanElimination ( double **  matrix,
double **  vectors,
const size_t  rank,
const size_t  number_vectors 
)

◆ GetMatrixColumns()

MagickExport size_t GetMatrixColumns ( const MatrixInfo matrix_info)

Definition at line 609 of file matrix.c.

References _MatrixInfo::columns, MagickCoreSignature, and _MatrixInfo::signature.

Referenced by RadonProjection().

◆ GetMatrixElement()

◆ GetMatrixRows()

MagickExport size_t GetMatrixRows ( const MatrixInfo matrix_info)

Definition at line 751 of file matrix.c.

References MagickCoreSignature, _MatrixInfo::rows, and _MatrixInfo::signature.

Referenced by RadonProjection().

◆ LeastSquaresAddTerms()

MagickPrivate void LeastSquaresAddTerms ( double **  matrix,
double **  vectors,
const double *  terms,
const double *  results,
const size_t  rank,
const size_t  number_vectors 
)

Definition at line 829 of file matrix.c.

Referenced by GenerateCoefficients().

◆ MatrixToImage()

◆ NullMatrix()

◆ ReadMatrixElements()

static MagickOffsetType ReadMatrixElements ( const MatrixInfo *magick_restrict  matrix_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
unsigned char *magick_restrict  buffer 
)
inlinestatic

Definition at line 664 of file matrix.c.

References LockSemaphoreInfo(), MAGICK_SSIZE_MAX, MagickMin, and UnlockSemaphoreInfo().

Referenced by GetMatrixElement().

◆ RelinquishMagickMatrix()

MagickExport double ** RelinquishMagickMatrix ( double **  matrix,
const size_t  number_rows 
)

Definition at line 1066 of file matrix.c.

References RelinquishMagickMemory().

Referenced by GenerateCoefficients().

◆ SetMatrixElement()

◆ SetMatrixExtent()

static MagickBooleanType SetMatrixExtent ( MatrixInfo *magick_restrict  matrix_info,
MagickSizeType  length 
)
static

Definition at line 173 of file matrix.c.

References MagickFalse, MagickTrue, and WriteMatrixElements().

Referenced by AcquireMatrixInfo().

◆ WriteMatrixElements()

static MagickOffsetType WriteMatrixElements ( const MatrixInfo *magick_restrict  matrix_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
const unsigned char *magick_restrict  buffer 
)
inlinestatic

Definition at line 132 of file matrix.c.

References LockSemaphoreInfo(), MAGICK_SSIZE_MAX, MagickMin, and UnlockSemaphoreInfo().

Referenced by SetMatrixElement(), and SetMatrixExtent().