Matrix r5059
|
#include "Lapack-etc.h"
#include "cholmod-etc.h"
#include "Mdefines.h"
#include "M5.h"
#include "idz.h"
#include "coerce.h"
Go to the source code of this file.
Macros | |
#define | CONJ2(_X_, _M_, _N_) |
#define | CONJ1(_X_, _N_) |
#define | DO_S3(_A_, _TRANS_, _PID_, _ISV_) |
#define | DO_AS(_A_, _CLASS_, _TRANS_, _PID_) |
#define | DO_TR |
#define | ASMODE(_TRANS_) |
#define | DO_S3(_A_, _TRANS_, _PID_, _ISV_) |
#define | DO_AS(_A_, _CLASS_, _TRANS_, _PID_) |
#define | zSCALE(x, y) |
#define | dSCALE(x, y) |
#define | lSCALE(x, y) |
#define | SCALE3(t, index) |
#define | SCALE(c, index) |
#define | SCALE(c, index) |
#define | SCALE(c, index) |
#define | DO_S3(_A_, _TRANS_, _PID_, _ISV_) |
#define | DO_AS(_A_, _CLASS_, _TRANS_, _PID_) |
Functions | |
SEXP | dense_transpose (SEXP, const char *, char) |
SEXP | sparse_transpose (SEXP, const char *, char, int) |
SEXP | sparse_dropzero (SEXP, const char *, double) |
SEXP | sparse_diag_U2N (SEXP, const char *) |
static void | matmultDim (SEXP x, SEXP y, char *xtrans, char *ytrans, char *ztrans, int *m, int *n, int *v) |
static void | matmultDN (SEXP dest, SEXP asrc, int ai, SEXP bsrc, int bi) |
static SEXP | geMatrix_matmult (SEXP a, SEXP b, char atrans, char btrans) |
static SEXP | syMatrix_matmult (SEXP a, SEXP b, char atrans, char btrans, char aside) |
static SEXP | spMatrix_matmult (SEXP a, SEXP b, char atrans, char btrans, char aside) |
static SEXP | trMatrix_matmult (SEXP a, SEXP b, char atrans, char btrans, char aside, int triangular) |
static SEXP | tpMatrix_matmult (SEXP a, SEXP b, char atrans, char btrans, char aside, int triangular) |
SEXP | R_dense_matmult (SEXP s_x, SEXP s_y, SEXP s_xtrans, SEXP s_ytrans) |
static SEXP | gCgCMatrix_matmult (SEXP x, SEXP y, char xtrans, char ytrans, char ztrans, int triangular, int boolean) |
static SEXP | gCgeMatrix_matmult (SEXP x, SEXP y, int xtrans, char ytrans, char ztrans, int triangular, int symmetric) |
SEXP | R_sparse_matmult (SEXP s_x, SEXP s_y, SEXP s_xtrans, SEXP s_ytrans, SEXP s_ztrans, SEXP s_boolean) |
static void | dense_colscale (SEXP obj, SEXP d, int m, int n, char ul, char nu) |
static void | dense_rowscale (SEXP obj, SEXP d, int m, int n, char ul, char nu) |
static void | Csparse_colscale (SEXP obj, SEXP d) |
static void | Csparse_rowscale (SEXP obj, SEXP d, SEXP iSym) |
static void | Tsparse_rowscale (SEXP obj, SEXP d, SEXP iSym) |
SEXP | R_diagonal_matmult (SEXP s_x, SEXP s_y, SEXP s_xtrans, SEXP s_ytrans, SEXP s_boolean) |
Variables | |
static const char * | valid_matmult [] |
#define ASMODE | ( | _TRANS_ | ) |
Referenced by gCgCMatrix_matmult().
#define CONJ1 | ( | _X_, | |
_N_ ) |
Definition at line 161 of file matmult.c.
Referenced by spMatrix_matmult(), and tpMatrix_matmult().
#define CONJ2 | ( | _X_, | |
_M_, | |||
_N_ ) |
Definition at line 152 of file matmult.c.
Referenced by gCgeMatrix_matmult(), spMatrix_matmult(), and syMatrix_matmult().
#define DO_AS | ( | _A_, | |
_CLASS_, | |||
_TRANS_, | |||
_PID_ ) |
Referenced by R_dense_matmult(), R_diagonal_matmult(), and R_sparse_matmult().
#define DO_AS | ( | _A_, | |
_CLASS_, | |||
_TRANS_, | |||
_PID_ ) |
#define DO_AS | ( | _A_, | |
_CLASS_, | |||
_TRANS_, | |||
_PID_ ) |
#define DO_S3 | ( | _A_, | |
_TRANS_, | |||
_PID_, | |||
_ISV_ ) |
Referenced by R_dense_matmult(), R_diagonal_matmult(), and R_sparse_matmult().
#define DO_S3 | ( | _A_, | |
_TRANS_, | |||
_PID_, | |||
_ISV_ ) |
#define DO_S3 | ( | _A_, | |
_TRANS_, | |||
_PID_, | |||
_ISV_ ) |
#define DO_TR |
Referenced by R_dense_matmult(), and R_sparse_matmult().
#define SCALE | ( | c, | |
index ) |
#define SCALE | ( | c, | |
index ) |
#define SCALE | ( | c, | |
index ) |
#define SCALE3 | ( | t, | |
index ) |
Definition at line 1163 of file matmult.c.
Referenced by Csparse_colscale(), Csparse_rowscale(), dense_colscale(), dense_rowscale(), and Tsparse_rowscale().
#define zSCALE | ( | x, | |
y ) |
|
static |
Definition at line 1238 of file matmult.c.
References GET_SLOT, Matrix_pSym, Matrix_xSym, SCALE3, and TYPEOF.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1269 of file matmult.c.
References GET_SLOT, Matrix_pSym, Matrix_xSym, SCALE3, and TYPEOF.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1174 of file matmult.c.
References GET_SLOT, Matrix_xSym, SCALE3, and TYPEOF.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1224 of file matmult.c.
References GET_SLOT, Matrix_xSym, SCALE3, and TYPEOF.
Referenced by R_diagonal_matmult().
SEXP dense_transpose | ( | SEXP | from, |
const char * | class, | ||
char | op_ct ) |
Definition at line 7 of file t.c.
References COPY_SLOT, DIAG, DIM, DIMNAMES, GET_SLOT, Matrix_sdSym, Matrix_xSym, newObject(), SET_DIAG, SET_DIM, SET_DIMNAMES, SET_SLOT, SET_TRANS, SET_UPLO, SWITCH4, TEMPLATE, TRANS, TYPEOF, and UPLO.
Referenced by R_dense_transpose().
|
static |
Definition at line 848 of file matmult.c.
References _, ASMODE, c, CHS2M(), DIMNAMES, M2CHS(), matmultDN(), SET_DIAG, SET_TRANS, SET_UPLO, sparse_transpose(), and symDN().
Referenced by R_sparse_matmult().
|
static |
Definition at line 939 of file matmult.c.
References _, c, CONJ2, DIMNAMES, dtrans2(), M2CHD(), M2CHS(), matmultDN(), Matrix_xSym, newObject(), SET_DIAG, SET_DIM, SET_SLOT, SET_UPLO, and ztrans2().
Referenced by R_sparse_matmult().
|
static |
Definition at line 172 of file matmult.c.
References _, DIM, DIMNAMES, FCONE, GET_SLOT, matmultDN(), Matrix_xSym, Matrix_zunit, Matrix_zzero, newObject(), SET_DIM, SET_SLOT, SET_TRANS, symDN(), and TYPEOF.
Referenced by R_dense_matmult().
|
static |
Definition at line 20 of file matmult.c.
References _, GET_SLOT, Matrix_DimSym, SWAP, and TYPEOF.
Referenced by R_dense_matmult(), R_diagonal_matmult(), and R_sparse_matmult().
|
static |
Definition at line 131 of file matmult.c.
Referenced by gCgCMatrix_matmult(), gCgeMatrix_matmult(), geMatrix_matmult(), R_diagonal_matmult(), spMatrix_matmult(), syMatrix_matmult(), tpMatrix_matmult(), and trMatrix_matmult().
SEXP R_dense_matmult | ( | SEXP | s_x, |
SEXP | s_y, | ||
SEXP | s_xtrans, | ||
SEXP | s_ytrans ) |
Definition at line 711 of file matmult.c.
References dense_as_general(), DO_AS, DO_S3, DO_TR, geMatrix_matmult(), matmultDim(), Matrix_class(), spMatrix_matmult(), syMatrix_matmult(), tpMatrix_matmult(), trMatrix_matmult(), and valid_matmult.
SEXP R_diagonal_matmult | ( | SEXP | s_x, |
SEXP | s_y, | ||
SEXP | s_xtrans, | ||
SEXP | s_ytrans, | ||
SEXP | s_boolean ) |
Definition at line 1310 of file matmult.c.
References _, Csparse_colscale(), Csparse_rowscale(), dense_colscale(), dense_rowscale(), DIAG, DIMNAMES, DO_AS, DO_S3, GET_SLOT, matmultDim(), matmultDN(), Matrix_class(), Matrix_iSym, Matrix_jSym, Matrix_pSym, Matrix_xSym, newObject(), SET_DIAG, SET_DIM, SET_SLOT, SET_UPLO, sparse_as_kind(), sparse_dropzero(), Tsparse_rowscale(), TYPEOF, UPLO, and valid_matmult.
SEXP R_sparse_matmult | ( | SEXP | s_x, |
SEXP | s_y, | ||
SEXP | s_xtrans, | ||
SEXP | s_ytrans, | ||
SEXP | s_ztrans, | ||
SEXP | s_boolean ) |
Definition at line 1021 of file matmult.c.
References _, dense_as_general(), dense_as_kind(), DO_AS, DO_S3, DO_TR, gCgCMatrix_matmult(), gCgeMatrix_matmult(), matmultDim(), Matrix_class(), sparse_as_general(), sparse_diag_U2N(), TRANS, TYPEOF, UPLO, and valid_matmult.
SEXP sparse_diag_U2N | ( | SEXP | from, |
const char * | class ) |
Definition at line 621 of file diag.c.
References DIAG, and R_sparse_diag_set().
Referenced by R_sparse_diag_U2N(), and R_sparse_matmult().
SEXP sparse_dropzero | ( | SEXP | from, |
const char * | class, | ||
double | tol ) |
Definition at line 4 of file dropzero.c.
References DIAG, DIM, DIMNAMES, GET_SLOT, Matrix_iSym, Matrix_jSym, Matrix_pSym, Matrix_xSym, newObject(), NZ, SET_DIAG, SET_DIM, SET_DIMNAMES, SET_SLOT, SET_TRANS, SET_UPLO, sparse_aggregate(), SWITCH4, TEMPLATE, TRANS, TYPEOF, and UPLO.
Referenced by R_diagonal_matmult(), and R_sparse_dropzero().
SEXP sparse_transpose | ( | SEXP | from, |
const char * | class, | ||
char | op_ct, | ||
int | lazy ) |
Definition at line 52 of file t.c.
Referenced by gCgCMatrix_matmult(), and R_sparse_transpose().
|
static |
Definition at line 428 of file matmult.c.
References _, CONJ1, CONJ2, DIM, DIMNAMES, FCONE, GET_SLOT, matmultDN(), Matrix_xSym, Matrix_zunit, Matrix_zzero, newObject(), SET_DIM, SET_SLOT, TRANS, TYPEOF, UPLO, and zvconj().
Referenced by R_dense_matmult().
|
static |
Definition at line 307 of file matmult.c.
References _, CONJ2, DIM, DIMNAMES, FCONE, GET_SLOT, matmultDN(), Matrix_xSym, Matrix_zunit, Matrix_zzero, newObject(), SET_DIM, SET_SLOT, TRANS, TYPEOF, UPLO, and zvconj().
Referenced by R_dense_matmult().
|
static |
|
static |
Definition at line 534 of file matmult.c.
References _, DIAG, DIM, DIMNAMES, dtrans2(), FCONE, GET_SLOT, matmultDN(), Matrix_xSym, Matrix_zunit, newObject(), SET_DIAG, SET_DIM, SET_SLOT, SET_UPLO, TYPEOF, UPLO, and ztrans2().
Referenced by R_dense_matmult().
|
static |
Definition at line 1294 of file matmult.c.
References GET_SLOT, Matrix_xSym, SCALE3, and TYPEOF.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 15 of file matmult.c.
Referenced by R_dense_matmult(), R_diagonal_matmult(), and R_sparse_matmult().