MCPcopy Create free account
hub / github.com/numpy/numpy / gemv

Function gemv

numpy/core/src/common/cblasfuncs.c:60–88  ·  view source on GitHub ↗

* Helper: dispatch to appropriate cblas_?gemv for typenum. */

Source from the content-addressed store, hash-verified

58 * Helper: dispatch to appropriate cblas_?gemv for typenum.
59 */
60static void
61gemv(int typenum, enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE trans,
62 PyArrayObject *A, npy_intp lda, PyArrayObject *X, npy_intp incX,
63 PyArrayObject *R)
64{
65 const void *Adata = PyArray_DATA(A), *Xdata = PyArray_DATA(X);
66 void *Rdata = PyArray_DATA(R);
67
68 npy_intp m = PyArray_DIM(A, 0), n = PyArray_DIM(A, 1);
69
70 switch (typenum) {
71 case NPY_DOUBLE:
72 CBLAS_FUNC(cblas_dgemv)(order, trans, m, n, 1., Adata, lda, Xdata, incX,
73 0., Rdata, 1);
74 break;
75 case NPY_FLOAT:
76 CBLAS_FUNC(cblas_sgemv)(order, trans, m, n, 1.f, Adata, lda, Xdata, incX,
77 0.f, Rdata, 1);
78 break;
79 case NPY_CDOUBLE:
80 CBLAS_FUNC(cblas_zgemv)(order, trans, m, n, oneD, Adata, lda, Xdata, incX,
81 zeroD, Rdata, 1);
82 break;
83 case NPY_CFLOAT:
84 CBLAS_FUNC(cblas_cgemv)(order, trans, m, n, oneF, Adata, lda, Xdata, incX,
85 zeroF, Rdata, 1);
86 break;
87 }
88}
89
90
91/*

Callers 1

cblas_matrixproductFunction · 0.85

Calls 2

PyArray_DATAFunction · 0.85
PyArray_DIMFunction · 0.85

Tested by

no test coverage detected