Matrix r4655
|
#include "Lapack-etc.h"
#include "cholmod-etc.h"
#include "Mdefines.h"
#include "idz.h"
#include "coerce.h"
#include "dense.h"
#include "sparse.h"
#include "matmult.h"
Go to the source code of this file.
Macros | |
#define | MULTIPLY_COMPLEX(_X_, _D_) |
#define | MULTIPLY_REAL(_X_, _D_) (_X_) = (_X_) * (_D_) |
#define | MULTIPLY_LOGICAL(_X_, _D_) (_X_) = (_X_) && (_D_) |
#define | SCALE_CASES(_J_) |
#define | SCALE(_CTYPE_, _PTR_, _OP_, _J_) |
#define | SCALE(_CTYPE_, _PTR_, _OP_, _J_) |
#define | SCALE(_CTYPE_, _PTR_, _OP_, _J_) |
Functions | |
static void | matmultDim (SEXP x, SEXP y, int *xtrans, int *ytrans, int *ztrans, int *m, int *n, int *v) |
static void | matmultDN (SEXP dest, SEXP asrc, int ai, SEXP bsrc, int bi) |
static SEXP | dgeMatrix_matmult (SEXP a, SEXP b, int atrans, int btrans) |
static SEXP | dsyMatrix_matmult (SEXP a, SEXP b, int aleft, int btrans) |
static SEXP | dspMatrix_matmult (SEXP a, SEXP b, int aleft, int btrans) |
static SEXP | dtrMatrix_matmult (SEXP a, SEXP b, int aleft, int atrans, int btrans, int triangular) |
static SEXP | dtpMatrix_matmult (SEXP a, SEXP b, int aleft, int atrans, int btrans, int triangular) |
SEXP | R_dense_matmult (SEXP x, SEXP y, SEXP xtrans, SEXP ytrans) |
static SEXP | dgCMatrix_dgCMatrix_matmult (SEXP x, SEXP y, int xtrans, int ytrans, int ztrans, int triangular, int boolean) |
static SEXP | dgCMatrix_dgeMatrix_matmult (SEXP x, SEXP y, int xtrans, int ytrans, int ztrans, int triangular, int symmetric) |
SEXP | R_sparse_matmult (SEXP x, SEXP y, SEXP xtrans, SEXP ytrans, SEXP ztrans, SEXP boolean) |
static void | dense_colscale (SEXP obj, SEXP d, int m, int n, char uplo, char diag) |
static void | dense_rowscale (SEXP obj, SEXP d, int m, int n, char uplo, char diag) |
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 x, SEXP y, SEXP xtrans, SEXP ytrans, SEXP boolean) |
#define MULTIPLY_COMPLEX | ( | _X_, | |
_D_ | |||
) |
#define MULTIPLY_LOGICAL | ( | _X_, | |
_D_ | |||
) | (_X_) = (_X_) && (_D_) |
#define SCALE | ( | _CTYPE_, | |
_PTR_, | |||
_OP_, | |||
_J_ | |||
) |
#define SCALE | ( | _CTYPE_, | |
_PTR_, | |||
_OP_, | |||
_J_ | |||
) |
#define SCALE | ( | _CTYPE_, | |
_PTR_, | |||
_OP_, | |||
_J_ | |||
) |
#define SCALE_CASES | ( | _J_ | ) |
|
static |
Definition at line 1215 of file matmult.c.
References GET_SLOT, Matrix_pSym, Matrix_xSym, and SCALE_CASES.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1246 of file matmult.c.
References GET_SLOT, Matrix_pSym, Matrix_xSym, and SCALE_CASES.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1146 of file matmult.c.
References GET_SLOT, Matrix_xSym, and SCALE_CASES.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 1201 of file matmult.c.
References GET_SLOT, Matrix_xSym, and SCALE_CASES.
Referenced by R_diagonal_matmult().
|
static |
Definition at line 771 of file matmult.c.
References _, c, CHS2M(), GET_SLOT, M2CHS(), matmultDN(), Matrix_DimNamesSym, Matrix_uploSym, SET_SLOT, sparse_diag_N2U(), sparse_transpose(), and symDN().
Referenced by R_sparse_matmult().
|
static |
Definition at line 847 of file matmult.c.
References _, c, CHD2M(), GET_SLOT, get_symmetrized_DimNames(), M2CHD(), M2CHS(), matmultDN(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_DimSym, Matrix_uploSym, Matrix_xSym, newObject(), and SET_SLOT.
Referenced by R_sparse_matmult().
|
static |
Definition at line 142 of file matmult.c.
References _, FCONE, GET_SLOT, matmultDN(), Matrix_DimNamesSym, Matrix_DimSym, Matrix_memset(), Matrix_xSym, Matrix_zone, Matrix_zzero, newObject(), SET_SLOT, and symDN().
Referenced by R_dense_matmult().
|
static |
Definition at line 367 of file matmult.c.
References _, FCONE, GET_SLOT, get_symmetrized_DimNames(), matmultDN(), Matrix_DimNamesSym, Matrix_DimSym, Matrix_uploSym, Matrix_xSym, Matrix_zone, Matrix_zzero, newObject(), and SET_SLOT.
Referenced by R_dense_matmult().
|
static |
Definition at line 279 of file matmult.c.
References _, FCONE, GET_SLOT, get_symmetrized_DimNames(), matmultDN(), Matrix_DimNamesSym, Matrix_DimSym, Matrix_uploSym, Matrix_xSym, Matrix_zone, newObject(), and SET_SLOT.
Referenced by R_dense_matmult().
|
static |
Definition at line 537 of file matmult.c.
References _, FCONE, GET_SLOT, matmultDN(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_DimSym, Matrix_memcpy(), Matrix_uploSym, Matrix_xSym, newObject(), and SET_SLOT.
Referenced by R_dense_matmult().
|
static |
Definition at line 443 of file matmult.c.
References _, FCONE, GET_SLOT, matmultDN(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_DimSym, Matrix_memcpy(), Matrix_uploSym, Matrix_xSym, Matrix_zone, newObject(), and SET_SLOT.
Referenced by R_dense_matmult().
|
static |
Definition at line 11 of file matmult.c.
References _, GET_SLOT, and Matrix_DimSym.
Referenced by R_dense_matmult(), R_diagonal_matmult(), and R_sparse_matmult().
|
static |
Definition at line 119 of file matmult.c.
Referenced by dgCMatrix_dgCMatrix_matmult(), dgCMatrix_dgeMatrix_matmult(), dgeMatrix_matmult(), dspMatrix_matmult(), dsyMatrix_matmult(), dtpMatrix_matmult(), dtrMatrix_matmult(), and R_diagonal_matmult().
SEXP R_dense_matmult | ( | SEXP | x, |
SEXP | y, | ||
SEXP | xtrans, | ||
SEXP | ytrans | ||
) |
Definition at line 634 of file matmult.c.
References dense_as_general(), dense_as_kind(), dgeMatrix_matmult(), dspMatrix_matmult(), dsyMatrix_matmult(), dtpMatrix_matmult(), dtrMatrix_matmult(), ERROR_INVALID_CLASS, GET_SLOT, matmultDim(), matrix_as_dense(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_uploSym, valid, and VALID_DENSE.
SEXP R_diagonal_matmult | ( | SEXP | x, |
SEXP | y, | ||
SEXP | xtrans, | ||
SEXP | ytrans, | ||
SEXP | boolean | ||
) |
Definition at line 1285 of file matmult.c.
References _, Csparse_colscale(), Csparse_rowscale(), dense_as_general(), dense_as_kind(), dense_colscale(), dense_rowscale(), dense_transpose(), diagonal_as_kind(), ERROR_INVALID_CLASS, GET_SLOT, matmultDim(), matmultDN(), matrix_as_dense(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_DimSym, Matrix_iSym, Matrix_jSym, Matrix_memcpy(), Matrix_pSym, Matrix_uploSym, Matrix_xSym, newObject(), SET_SLOT, sparse_as_general(), sparse_as_kind(), sparse_diag_U2N(), sparse_drop0(), sparse_transpose(), Tsparse_rowscale(), valid, VALID_CSPARSE, VALID_DENSE, VALID_DIAGONAL, VALID_RSPARSE, and VALID_TSPARSE.
SEXP R_sparse_matmult | ( | SEXP | x, |
SEXP | y, | ||
SEXP | xtrans, | ||
SEXP | ytrans, | ||
SEXP | ztrans, | ||
SEXP | boolean | ||
) |
Definition at line 935 of file matmult.c.
References _, dense_as_general(), dense_as_kind(), dense_as_sparse(), dgCMatrix_dgCMatrix_matmult(), dgCMatrix_dgeMatrix_matmult(), ERROR_INVALID_CLASS, GET_SLOT, matmultDim(), matrix_as_dense(), matrix_as_sparse(), Matrix_diagSym, Matrix_DimNamesSym, Matrix_uploSym, sparse_as_Csparse(), sparse_as_general(), sparse_as_kind(), sparse_diag_U2N(), sparse_drop0(), sparse_transpose(), valid, VALID_CSPARSE, VALID_DENSE, VALID_RSPARSE, and VALID_TSPARSE.
|
static |
Definition at line 1271 of file matmult.c.
References GET_SLOT, Matrix_xSym, and SCALE_CASES.
Referenced by R_diagonal_matmult().