Matrix r4655
Loading...
Searching...
No Matches
Macros | Typedefs | Functions | Variables
Mdefines.h File Reference
#include "version.h"
#include <string.h>
#include <stdint.h>
#include <limits.h>
#include <float.h>
#include <R.h>
#include <Rinternals.h>
#include "Msymbols.h"
#include "utils.h"

Go to the source code of this file.

Macros

#define Matrix_Domain   "Matrix"
 
#define Matrix_CallocThreshold   8192
 
#define Matrix_ErrorBufferSize   4096
 
#define MATRIX_INT_FAST64_MIN   LLONG_MIN
 
#define MATRIX_INT_FAST64_MAX   LLONG_MAX
 
#define STRICT_R_HEADERS
 
#define _(String)   (String)
 
#define dngettext(Domain, String, StringP, N)   ((N == 1) ? String : StringP)
 
#define Matrix_Calloc(_VAR_, _N_, _CTYPE_)
 
#define Matrix_Free(_VAR_, _N_)
 
#define GET_SLOT(x, what)   R_do_slot(x, what)
 
#define SET_SLOT(x, what, value)   R_do_slot_assign(x, what, value)
 
#define MINOF(x, y)   ((x < y) ? x : y)
 
#define MAXOF(x, y)   ((x < y) ? y : x)
 
#define FIRSTOF(x, y)   (x)
 
#define SECONDOF(x, y)   (y)
 
#define ISNA_PATTERN(_X_)   (0)
 
#define ISNA_LOGICAL(_X_)   ((_X_) == NA_LOGICAL)
 
#define ISNA_INTEGER(_X_)   ((_X_) == NA_INTEGER)
 
#define ISNA_REAL(_X_)   (ISNAN(_X_))
 
#define ISNA_COMPLEX(_X_)   (ISNAN((_X_).r) || ISNAN((_X_).i))
 
#define ISNZ_PATTERN(_X_)   ((_X_) != 0)
 
#define ISNZ_LOGICAL(_X_)   ((_X_) != 0)
 
#define ISNZ_INTEGER(_X_)   ((_X_) != 0)
 
#define ISNZ_REAL(_X_)   ((_X_) != 0.0)
 
#define ISNZ_COMPLEX(_X_)   ((_X_).r != 0.0 || (_X_).i != 0.0)
 
#define STRICTLY_ISNZ_PATTERN(_X_)    ( ISNZ_PATTERN(_X_))
 
#define STRICTLY_ISNZ_LOGICAL(_X_)    (!ISNA_LOGICAL(_X_) && ISNZ_LOGICAL(_X_))
 
#define STRICTLY_ISNZ_INTEGER(_X_)    (!ISNA_INTEGER(_X_) && ISNZ_INTEGER(_X_))
 
#define STRICTLY_ISNZ_REAL(_X_)    (!ISNA_REAL( _X_) && ISNZ_REAL( _X_))
 
#define STRICTLY_ISNZ_COMPLEX(_X_)    (!ISNA_COMPLEX(_X_) && ISNZ_COMPLEX(_X_))
 
#define NOTREAL_PATTERN(_X_)   0
 
#define NOTREAL_LOGICAL(_X_)   0
 
#define NOTREAL_INTEGER(_X_)   0
 
#define NOTREAL_REAL(_X_)   0
 
#define NOTREAL_COMPLEX(_X_)   (_X_.i != 0.0)
 
#define NOTCONJ_PATTERN(_X_, _Y_)    ((_X_ != 0) != (_Y_ != 0))
 
#define NOTCONJ_LOGICAL(_X_, _Y_)    (_X_ != _Y_)
 
#define NOTCONJ_INTEGER(_X_, _Y_)    (_X_ != _Y_)
 
#define NOTCONJ_REAL(_X_, _Y_)    ((ISNAN(_X_)) ? !ISNAN(_Y_) : ISNAN(_Y_) || _X_ != _Y_)
 
#define NOTCONJ_COMPLEX(_X_, _Y_)
 
#define INCREMENT_PATTERN(_X_, _Y_)
 
#define INCREMENT_LOGICAL(_X_, _Y_)
 
#define INCREMENT_INTEGER(_X_, _Y_)
 
#define INCREMENT_REAL(_X_, _Y_)
 
#define INCREMENT_COMPLEX(_X_, _Y_)
 
#define ASSIGN_REAL(_X_, _Y_)    do { _X_ = _Y_ ; } while (0)
 
#define ASSIGN_COMPLEX(_X_, _Y_)    do { _X_.r = _Y_.r; _X_.i = _Y_.i; } while (0)
 
#define SCALE1_REAL(_X_, _A_)    do { _X_ *= _A_; } while (0)
 
#define SCALE1_COMPLEX(_X_, _A_)    do { _X_.r *= _A_; _X_.i *= _A_; } while (0)
 
#define SCALE2_REAL(_X_, _A_)    do { _X_ /= _A_; } while (0)
 
#define SCALE2_COMPLEX(_X_, _A_)    do { _X_.r /= _A_; _X_.i /= _A_; } while (0)
 
#define PACKED_AR21_UP(i, j)    ((R_xlen_t) ((i) + ((Matrix_int_fast64_t) (j) * ( (j) + 1)) / 2))
 
#define PACKED_AR21_LO(i, j, m2)    ((R_xlen_t) ((i) + ((Matrix_int_fast64_t) (j) * ((m2) - (j) - 1)) / 2))
 
#define PACKED_LENGTH(m)    ((R_xlen_t) ((m) + ((Matrix_int_fast64_t) (m) * ( (m) - 1)) / 2))
 
#define SHOW(...)   __VA_ARGS__
 
#define HIDE(...)
 
#define ERROR_INVALID_TYPE(_X_, _FUNC_)
 
#define ERROR_INVALID_CLASS(_X_, _FUNC_)
 
#define VALID_NONVIRTUAL_MATRIX
 
#define VALID_NONVIRTUAL_VECTOR
 
#define VALID_NONVIRTUAL   VALID_NONVIRTUAL_MATRIX, VALID_NONVIRTUAL_VECTOR
 
#define VALID_NONVIRTUAL_SHIFT(i, pToInd)    ((i >= 5) ? 0 : ((i >= 4) ? pToInd != 0 : ((i >= 2) ? 57 : 59)))
 
#define VALID_DENSE
 
#define VALID_CSPARSE
 
#define VALID_RSPARSE
 
#define VALID_TSPARSE
 
#define VALID_DIAGONAL   "ndiMatrix", "ldiMatrix", "idiMatrix", "ddiMatrix", "zdiMatrix"
 

Typedefs

typedef long long Matrix_int_fast64_t
 

Functions

void * alloca (size_t)
 
SEXP newObject (const char *)
 
void validObject (SEXP, const char *)
 
char typeToKind (SEXPTYPE)
 
SEXPTYPE kindToType (char)
 
size_t kindToSize (char)
 
int DimNames_is_trivial (SEXP)
 
int DimNames_is_symmetric (SEXP)
 
void symDN (SEXP, SEXP, int)
 
void revDN (SEXP, SEXP)
 
SEXP get_symmetrized_DimNames (SEXP, int)
 
SEXP get_reversed_DimNames (SEXP)
 
void set_symmetrized_DimNames (SEXP, SEXP, int)
 
void set_reversed_DimNames (SEXP, SEXP)
 

Variables

Rcomplex Matrix_zzero
 
Rcomplex Matrix_zone
 
Rcomplex Matrix_zna
 

Macro Definition Documentation

◆ _

#define _ (   String)    (String)

Definition at line 44 of file Mdefines.h.

◆ ASSIGN_COMPLEX

#define ASSIGN_COMPLEX (   _X_,
  _Y_ 
)     do { _X_.r = _Y_.r; _X_.i = _Y_.i; } while (0)

Definition at line 181 of file Mdefines.h.

◆ ASSIGN_REAL

#define ASSIGN_REAL (   _X_,
  _Y_ 
)     do { _X_ = _Y_ ; } while (0)

Definition at line 179 of file Mdefines.h.

◆ dngettext

#define dngettext (   Domain,
  String,
  StringP,
 
)    ((N == 1) ? String : StringP)

Definition at line 45 of file Mdefines.h.

◆ ERROR_INVALID_CLASS

#define ERROR_INVALID_CLASS (   _X_,
  _FUNC_ 
)
Value:
do { \
if (!OBJECT(_X_)) \
ERROR_INVALID_TYPE(_X_, _FUNC_); \
else { \
SEXP class = PROTECT(getAttrib(_X_, R_ClassSymbol)); \
error(_("invalid class \"%s\" in '%s'"), \
CHAR(STRING_ELT(class, 0)), _FUNC_); \
UNPROTECT(1); \
} \
} while (0)
#define _(String)
Definition Mdefines.h:44

Definition at line 208 of file Mdefines.h.

◆ ERROR_INVALID_TYPE

#define ERROR_INVALID_TYPE (   _X_,
  _FUNC_ 
)
Value:
error(_("invalid type \"%s\" in '%s'"), \
type2char(TYPEOF(_X_)), _FUNC_)

Definition at line 204 of file Mdefines.h.

◆ FIRSTOF

#define FIRSTOF (   x,
 
)    (x)

Definition at line 99 of file Mdefines.h.

◆ GET_SLOT

#define GET_SLOT (   x,
  what 
)    R_do_slot(x, what)

Definition at line 85 of file Mdefines.h.

◆ HIDE

#define HIDE (   ...)

Definition at line 202 of file Mdefines.h.

◆ INCREMENT_COMPLEX

#define INCREMENT_COMPLEX (   _X_,
  _Y_ 
)
Value:
do { \
_X_.r += _Y_.r; \
_X_.i += _Y_.i; \
} while (0)

Definition at line 173 of file Mdefines.h.

◆ INCREMENT_INTEGER

#define INCREMENT_INTEGER (   _X_,
  _Y_ 
)
Value:
do { \
if (_X_ != NA_INTEGER) { \
if (_Y_ == NA_INTEGER) \
_X_ = NA_INTEGER; \
else if ((_Y_ < 0) \
? (_X_ <= INT_MIN - _Y_) \
: (_X_ > INT_MAX - _Y_)) { \
warning(_("NAs produced by integer overflow")); \
_X_ = NA_INTEGER; \
} else \
_X_ += _Y_; \
} \
} while (0)

Definition at line 155 of file Mdefines.h.

◆ INCREMENT_LOGICAL

#define INCREMENT_LOGICAL (   _X_,
  _Y_ 
)
Value:
do { \
if (_Y_ == NA_LOGICAL) { \
if (_X_ == 0) \
_X_ = NA_LOGICAL; \
} else if (_Y_ != 0) \
_X_ = 1; \
} while (0)

Definition at line 147 of file Mdefines.h.

◆ INCREMENT_PATTERN

#define INCREMENT_PATTERN (   _X_,
  _Y_ 
)
Value:
do { \
_X_ = 1; \
} while (0)

Definition at line 143 of file Mdefines.h.

◆ INCREMENT_REAL

#define INCREMENT_REAL (   _X_,
  _Y_ 
)
Value:
do { \
_X_ += _Y_; \
} while (0)

Definition at line 169 of file Mdefines.h.

◆ ISNA_COMPLEX

#define ISNA_COMPLEX (   _X_)    (ISNAN((_X_).r) || ISNAN((_X_).i))

Definition at line 106 of file Mdefines.h.

◆ ISNA_INTEGER

#define ISNA_INTEGER (   _X_)    ((_X_) == NA_INTEGER)

Definition at line 104 of file Mdefines.h.

◆ ISNA_LOGICAL

#define ISNA_LOGICAL (   _X_)    ((_X_) == NA_LOGICAL)

Definition at line 103 of file Mdefines.h.

◆ ISNA_PATTERN

#define ISNA_PATTERN (   _X_)    (0)

Definition at line 102 of file Mdefines.h.

◆ ISNA_REAL

#define ISNA_REAL (   _X_)    (ISNAN(_X_))

Definition at line 105 of file Mdefines.h.

◆ ISNZ_COMPLEX

#define ISNZ_COMPLEX (   _X_)    ((_X_).r != 0.0 || (_X_).i != 0.0)

Definition at line 112 of file Mdefines.h.

◆ ISNZ_INTEGER

#define ISNZ_INTEGER (   _X_)    ((_X_) != 0)

Definition at line 110 of file Mdefines.h.

◆ ISNZ_LOGICAL

#define ISNZ_LOGICAL (   _X_)    ((_X_) != 0)

Definition at line 109 of file Mdefines.h.

◆ ISNZ_PATTERN

#define ISNZ_PATTERN (   _X_)    ((_X_) != 0)

Definition at line 108 of file Mdefines.h.

◆ ISNZ_REAL

#define ISNZ_REAL (   _X_)    ((_X_) != 0.0)

Definition at line 111 of file Mdefines.h.

◆ Matrix_Calloc

#define Matrix_Calloc (   _VAR_,
  _N_,
  _CTYPE_ 
)
Value:
do { \
if (_N_ >= Matrix_CallocThreshold) \
_VAR_ = R_Calloc(_N_, _CTYPE_); \
else { \
_VAR_ = (_CTYPE_ *) alloca((size_t) (_N_) * sizeof(_CTYPE_)); \
R_CheckStack(); \
memset(_VAR_, 0, (size_t) (_N_) * sizeof(_CTYPE_)); \
} \
} while (0)
#define Matrix_CallocThreshold
Definition Mdefines.h:7
void * alloca(size_t)

Definition at line 66 of file Mdefines.h.

◆ Matrix_CallocThreshold

#define Matrix_CallocThreshold   8192

Definition at line 7 of file Mdefines.h.

◆ Matrix_Domain

#define Matrix_Domain   "Matrix"

Definition at line 6 of file Mdefines.h.

◆ Matrix_ErrorBufferSize

#define Matrix_ErrorBufferSize   4096

Definition at line 8 of file Mdefines.h.

◆ Matrix_Free

#define Matrix_Free (   _VAR_,
  _N_ 
)
Value:
do { \
if (_N_ >= Matrix_CallocThreshold) \
R_Free(_VAR_); \
} while (0)

Definition at line 77 of file Mdefines.h.

◆ MATRIX_INT_FAST64_MAX

#define MATRIX_INT_FAST64_MAX   LLONG_MAX

Definition at line 29 of file Mdefines.h.

◆ MATRIX_INT_FAST64_MIN

#define MATRIX_INT_FAST64_MIN   LLONG_MIN

Definition at line 28 of file Mdefines.h.

◆ MAXOF

#define MAXOF (   x,
 
)    ((x < y) ? y : x)

Definition at line 98 of file Mdefines.h.

◆ MINOF

#define MINOF (   x,
 
)    ((x < y) ? x : y)

Definition at line 97 of file Mdefines.h.

◆ NOTCONJ_COMPLEX

#define NOTCONJ_COMPLEX (   _X_,
  _Y_ 
)
Value:
(((ISNAN(_X_.r)) ? !ISNAN(_Y_.r) : ISNAN(_Y_.r) || _X_.r != _Y_.r) || \
((ISNAN(_X_.i)) ? !ISNAN(_Y_.i) : ISNAN(_Y_.i) || _X_.r != -_Y_.r))

Definition at line 139 of file Mdefines.h.

◆ NOTCONJ_INTEGER

#define NOTCONJ_INTEGER (   _X_,
  _Y_ 
)     (_X_ != _Y_)

Definition at line 135 of file Mdefines.h.

◆ NOTCONJ_LOGICAL

#define NOTCONJ_LOGICAL (   _X_,
  _Y_ 
)     (_X_ != _Y_)

Definition at line 133 of file Mdefines.h.

◆ NOTCONJ_PATTERN

#define NOTCONJ_PATTERN (   _X_,
  _Y_ 
)     ((_X_ != 0) != (_Y_ != 0))

Definition at line 131 of file Mdefines.h.

◆ NOTCONJ_REAL

#define NOTCONJ_REAL (   _X_,
  _Y_ 
)     ((ISNAN(_X_)) ? !ISNAN(_Y_) : ISNAN(_Y_) || _X_ != _Y_)

Definition at line 137 of file Mdefines.h.

◆ NOTREAL_COMPLEX

#define NOTREAL_COMPLEX (   _X_)    (_X_.i != 0.0)

Definition at line 129 of file Mdefines.h.

◆ NOTREAL_INTEGER

#define NOTREAL_INTEGER (   _X_)    0

Definition at line 127 of file Mdefines.h.

◆ NOTREAL_LOGICAL

#define NOTREAL_LOGICAL (   _X_)    0

Definition at line 126 of file Mdefines.h.

◆ NOTREAL_PATTERN

#define NOTREAL_PATTERN (   _X_)    0

Definition at line 125 of file Mdefines.h.

◆ NOTREAL_REAL

#define NOTREAL_REAL (   _X_)    0

Definition at line 128 of file Mdefines.h.

◆ PACKED_AR21_LO

#define PACKED_AR21_LO (   i,
  j,
  m2 
)     ((R_xlen_t) ((i) + ((Matrix_int_fast64_t) (j) * ((m2) - (j) - 1)) / 2))

Definition at line 196 of file Mdefines.h.

◆ PACKED_AR21_UP

#define PACKED_AR21_UP (   i,
 
)     ((R_xlen_t) ((i) + ((Matrix_int_fast64_t) (j) * ( (j) + 1)) / 2))

Definition at line 194 of file Mdefines.h.

◆ PACKED_LENGTH

#define PACKED_LENGTH (   m)     ((R_xlen_t) ((m) + ((Matrix_int_fast64_t) (m) * ( (m) - 1)) / 2))

Definition at line 198 of file Mdefines.h.

◆ SCALE1_COMPLEX

#define SCALE1_COMPLEX (   _X_,
  _A_ 
)     do { _X_.r *= _A_; _X_.i *= _A_; } while (0)

Definition at line 186 of file Mdefines.h.

◆ SCALE1_REAL

#define SCALE1_REAL (   _X_,
  _A_ 
)     do { _X_ *= _A_; } while (0)

Definition at line 184 of file Mdefines.h.

◆ SCALE2_COMPLEX

#define SCALE2_COMPLEX (   _X_,
  _A_ 
)     do { _X_.r /= _A_; _X_.i /= _A_; } while (0)

Definition at line 191 of file Mdefines.h.

◆ SCALE2_REAL

#define SCALE2_REAL (   _X_,
  _A_ 
)     do { _X_ /= _A_; } while (0)

Definition at line 189 of file Mdefines.h.

◆ SECONDOF

#define SECONDOF (   x,
 
)    (y)

Definition at line 100 of file Mdefines.h.

◆ SET_SLOT

#define SET_SLOT (   x,
  what,
  value 
)    R_do_slot_assign(x, what, value)

Definition at line 86 of file Mdefines.h.

◆ SHOW

#define SHOW (   ...)    __VA_ARGS__

Definition at line 201 of file Mdefines.h.

◆ STRICT_R_HEADERS

#define STRICT_R_HEADERS

Definition at line 33 of file Mdefines.h.

◆ STRICTLY_ISNZ_COMPLEX

#define STRICTLY_ISNZ_COMPLEX (   _X_)     (!ISNA_COMPLEX(_X_) && ISNZ_COMPLEX(_X_))

Definition at line 122 of file Mdefines.h.

◆ STRICTLY_ISNZ_INTEGER

#define STRICTLY_ISNZ_INTEGER (   _X_)     (!ISNA_INTEGER(_X_) && ISNZ_INTEGER(_X_))

Definition at line 118 of file Mdefines.h.

◆ STRICTLY_ISNZ_LOGICAL

#define STRICTLY_ISNZ_LOGICAL (   _X_)     (!ISNA_LOGICAL(_X_) && ISNZ_LOGICAL(_X_))

Definition at line 116 of file Mdefines.h.

◆ STRICTLY_ISNZ_PATTERN

#define STRICTLY_ISNZ_PATTERN (   _X_)     ( ISNZ_PATTERN(_X_))

Definition at line 114 of file Mdefines.h.

◆ STRICTLY_ISNZ_REAL

#define STRICTLY_ISNZ_REAL (   _X_)     (!ISNA_REAL( _X_) && ISNZ_REAL( _X_))

Definition at line 120 of file Mdefines.h.

◆ VALID_CSPARSE

#define VALID_CSPARSE
Value:
"ngCMatrix", "nsCMatrix", "ntCMatrix", \
"lgCMatrix", "lsCMatrix", "ltCMatrix", \
"igCMatrix", "isCMatrix", "itCMatrix", \
"dgCMatrix", "dsCMatrix", "dtCMatrix", \
"zgCMatrix", "zsCMatrix", "ztCMatrix"

Definition at line 257 of file Mdefines.h.

◆ VALID_DENSE

#define VALID_DENSE
Value:
"ngeMatrix", "nsyMatrix", "nspMatrix", "ntrMatrix", "ntpMatrix", \
"lgeMatrix", "lsyMatrix", "lspMatrix", "ltrMatrix", "ltpMatrix", \
"igeMatrix", "isyMatrix", "ispMatrix", "itrMatrix", "itpMatrix", \
"dgeMatrix", "dsyMatrix", "dspMatrix", "dtrMatrix", "dtpMatrix", \
"zgeMatrix", "zsyMatrix", "zspMatrix", "ztrMatrix", "ztpMatrix"

Definition at line 250 of file Mdefines.h.

◆ VALID_DIAGONAL

#define VALID_DIAGONAL   "ndiMatrix", "ldiMatrix", "idiMatrix", "ddiMatrix", "zdiMatrix"

Definition at line 278 of file Mdefines.h.

◆ VALID_NONVIRTUAL

#define VALID_NONVIRTUAL   VALID_NONVIRTUAL_MATRIX, VALID_NONVIRTUAL_VECTOR

Definition at line 244 of file Mdefines.h.

◆ VALID_NONVIRTUAL_MATRIX

#define VALID_NONVIRTUAL_MATRIX
Value:
/* 0 */ "dpoMatrix", "dppMatrix", \
/* 2 */ "corMatrix", "copMatrix", \
/* 4 */ "pMatrix", "indMatrix", \
/* 6 */ "ngCMatrix", "ngRMatrix", "ngTMatrix", "ngeMatrix", "ndiMatrix", \
/* 11 */ "nsCMatrix", "nsRMatrix", "nsTMatrix", "nsyMatrix", "nspMatrix", \
/* 16 */ "ntCMatrix", "ntRMatrix", "ntTMatrix", "ntrMatrix", "ntpMatrix", \
/* 21 */ "lgCMatrix", "lgRMatrix", "lgTMatrix", "lgeMatrix", "ldiMatrix", \
/* 26 */ "lsCMatrix", "lsRMatrix", "lsTMatrix", "lsyMatrix", "lspMatrix", \
/* 31 */ "ltCMatrix", "ltRMatrix", "ltTMatrix", "ltrMatrix", "ltpMatrix", \
/* 36 */ "igCMatrix", "igRMatrix", "igTMatrix", "igeMatrix", "idiMatrix", \
/* 41 */ "isCMatrix", "isRMatrix", "isTMatrix", "isyMatrix", "ispMatrix", \
/* 46 */ "itCMatrix", "itRMatrix", "itTMatrix", "itrMatrix", "itpMatrix", \
/* 51 */ "dgCMatrix", "dgRMatrix", "dgTMatrix", "dgeMatrix", "ddiMatrix", \
/* 56 */ "dsCMatrix", "dsRMatrix", "dsTMatrix", "dsyMatrix", "dspMatrix", \
/* 61 */ "dtCMatrix", "dtRMatrix", "dtTMatrix", "dtrMatrix", "dtpMatrix", \
/* 66 */ "zgCMatrix", "zgRMatrix", "zgTMatrix", "zgeMatrix", "zdiMatrix", \
/* 71 */ "zsCMatrix", "zsRMatrix", "zsTMatrix", "zsyMatrix", "zspMatrix", \
/* 76 */ "ztCMatrix", "ztRMatrix", "ztTMatrix", "ztrMatrix", "ztpMatrix"

Definition at line 220 of file Mdefines.h.

◆ VALID_NONVIRTUAL_SHIFT

#define VALID_NONVIRTUAL_SHIFT (   i,
  pToInd 
)     ((i >= 5) ? 0 : ((i >= 4) ? pToInd != 0 : ((i >= 2) ? 57 : 59)))

Definition at line 247 of file Mdefines.h.

◆ VALID_NONVIRTUAL_VECTOR

#define VALID_NONVIRTUAL_VECTOR
Value:
/* 81 */ "nsparseVector", "lsparseVector", "isparseVector", \
"dsparseVector", "zsparseVector"

Definition at line 240 of file Mdefines.h.

◆ VALID_RSPARSE

#define VALID_RSPARSE
Value:
"ngRMatrix", "nsRMatrix", "ntRMatrix", \
"lgRMatrix", "lsRMatrix", "ltRMatrix", \
"igRMatrix", "isRMatrix", "itRMatrix", \
"dgRMatrix", "dsRMatrix", "dtRMatrix", \
"zgRMatrix", "zsRMatrix", "ztRMatrix"

Definition at line 264 of file Mdefines.h.

◆ VALID_TSPARSE

#define VALID_TSPARSE
Value:
"ngTMatrix", "nsTMatrix", "ntTMatrix", \
"lgTMatrix", "lsTMatrix", "ltTMatrix", \
"igTMatrix", "isTMatrix", "itTMatrix", \
"dgTMatrix", "dsTMatrix", "dtTMatrix", \
"zgTMatrix", "zsTMatrix", "ztTMatrix"

Definition at line 271 of file Mdefines.h.

Typedef Documentation

◆ Matrix_int_fast64_t

typedef long long Matrix_int_fast64_t

Definition at line 27 of file Mdefines.h.

Function Documentation

◆ alloca()

void * alloca ( size_t  )
extern

◆ DimNames_is_symmetric()

int DimNames_is_symmetric ( SEXP  dn)

Definition at line 14 of file attrib.c.

References equal_character_vectors().

Referenced by dense_is_symmetric(), R_DimNames_is_symmetric(), and sparse_is_symmetric().

◆ DimNames_is_trivial()

int DimNames_is_trivial ( SEXP  dn)

◆ get_reversed_DimNames()

SEXP get_reversed_DimNames ( SEXP  obj)

Definition at line 120 of file attrib.c.

References DimNames_is_trivial(), GET_SLOT, Matrix_DimNamesSym, and revDN().

◆ get_symmetrized_DimNames()

SEXP get_symmetrized_DimNames ( SEXP  obj,
int  J 
)

◆ kindToSize()

size_t kindToSize ( char  kind)

Definition at line 46 of file objects.c.

References _.

Referenced by diagonal_as_dense(), index_as_dense(), and sparse_as_dense().

◆ kindToType()

SEXPTYPE kindToType ( char  kind)

◆ newObject()

SEXP newObject ( const char *  what)

◆ revDN()

void revDN ( SEXP  dest,
SEXP  src 
)

Definition at line 68 of file attrib.c.

Referenced by get_reversed_DimNames(), R_revDN(), and set_reversed_DimNames().

◆ set_reversed_DimNames()

void set_reversed_DimNames ( SEXP  obj,
SEXP  dn 
)

Definition at line 142 of file attrib.c.

References DimNames_is_trivial(), Matrix_DimNamesSym, revDN(), and SET_SLOT.

Referenced by dense_transpose(), and sparse_transpose().

◆ set_symmetrized_DimNames()

void set_symmetrized_DimNames ( SEXP  obj,
SEXP  dn,
int  J 
)

◆ symDN()

void symDN ( SEXP  dest,
SEXP  src,
int  J 
)

◆ typeToKind()

char typeToKind ( SEXPTYPE  type)

◆ validObject()

void validObject ( SEXP  obj,
const char *  cl 
)

Definition at line 1802 of file validity.c.

References cl, IS_VALID, and IS_VALID_SPARSE.

Referenced by R_subscript_1ary(), R_subscript_1ary_mat(), and R_subscript_2ary().

Variable Documentation

◆ Matrix_zna

Rcomplex Matrix_zna

Definition at line 95 of file Mdefines.h.

◆ Matrix_zone

Rcomplex Matrix_zone

Definition at line 95 of file Mdefines.h.

◆ Matrix_zzero

Rcomplex Matrix_zzero
extern

Definition at line 26 of file init.c.

Referenced by dense_skewpart(), dgeMatrix_matmult(), dspMatrix_matmult(), and R_init_Matrix().