Lines Matching refs:A

40 …FUNCTION_HELPER void CopyMat3(const CeedScalar A[3][3], CeedScalar B[3][3]) { CopyN((const CeedSca…  in CopyMat3()
81 CEED_QFUNCTION_HELPER void MatVecNM(const CeedScalar *A, const CeedScalar *x, const CeedInt N, cons… in MatVecNM() argument
85 CeedPragmaSIMD for (CeedInt i = 0; i < N; i++) b[i] += DotN(&A[i * M], x, M); in MatVecNM()
88 … i = 0; i < M; i++) { CeedPragmaSIMD for (CeedInt j = 0; j < N; j++) b[i] += A[j * M + i] * x[j]; } in MatVecNM()
94 CEED_QFUNCTION_HELPER void MatVec3(const CeedScalar A[3][3], const CeedScalar x[3], const CeedTrans… in MatVec3()
95 MatVecNM((const CeedScalar *)A, (const CeedScalar *)x, 3, 3, transpose_A, (CeedScalar *)b); in MatVec3()
99 CEED_QFUNCTION_HELPER void MatVec2(const CeedScalar A[2][2], const CeedScalar x[2], const CeedTrans… in MatVec2()
100 MatVecNM((const CeedScalar *)A, (const CeedScalar *)x, 2, 2, transpose_A, (CeedScalar *)b); in MatVec2()
105 CEED_QFUNCTION_HELPER void MatDiagNM(const CeedScalar *A, const CeedScalar *D, const CeedInt N, con… in MatDiagNM() argument
109 …i < N; i++) { CeedPragmaSIMD for (CeedInt j = 0; j < M; j++) B[i * M + j] += D[i] * A[i * M + j]; } in MatDiagNM()
112 …i < M; i++) { CeedPragmaSIMD for (CeedInt j = 0; j < N; j++) B[i * N + j] += D[i] * A[j * M + i]; } in MatDiagNM()
119 CEED_QFUNCTION_HELPER void MatDiag3(const CeedScalar A[3][3], const CeedScalar D[3], const CeedTran… in MatDiag3()
120 MatDiagNM((const CeedScalar *)A, (const CeedScalar *)D, 3, 3, transpose_A, (CeedScalar *)B); in MatDiag3()
123 CEED_QFUNCTION_HELPER void MatMatN(const CeedScalar *A, const CeedScalar *B, const CeedInt N, const… in MatMatN() argument
131 … CeedPragmaSIMD for (CeedInt k = 0; k < N; k++) C[i * N + j] += A[i * N + k] * B[k * N + j]; in MatMatN()
138 … CeedPragmaSIMD for (CeedInt k = 0; k < N; k++) C[i * N + j] += A[i * N + k] * B[j * N + k]; in MatMatN()
149 … CeedPragmaSIMD for (CeedInt k = 0; k < N; k++) C[i * N + j] += A[k * N + i] * B[k * N + j]; in MatMatN()
156 … CeedPragmaSIMD for (CeedInt k = 0; k < N; k++) C[i * N + j] += A[k * N + i] * B[j * N + k]; in MatMatN()
166 CEED_QFUNCTION_HELPER void MatMat3(const CeedScalar A[3][3], const CeedScalar B[3][3], const CeedTr… in MatMat3()
168 …MatMatN((const CeedScalar *)A, (const CeedScalar *)B, 3, transpose_A, transpose_B, (CeedScalar *)C… in MatMat3()
172 CEED_QFUNCTION_HELPER void MatMat2(const CeedScalar A[2][2], const CeedScalar B[2][2], const CeedTr… in MatMat2()
174 …MatMatN((const CeedScalar *)A, (const CeedScalar *)B, 2, transpose_A, transpose_B, (CeedScalar *)C… in MatMat2()
184 CEED_QFUNCTION_HELPER void MatInv2(const CeedScalar A[2][2], CeedScalar A_inv[2][2], CeedScalar *de… in MatInv2()
185 const CeedScalar detJ = A[0][0] * A[1][1] - A[1][0] * A[0][1]; in MatInv2()
187 A_inv[0][0] = A[1][1] / detJ; in MatInv2()
188 A_inv[0][1] = -A[0][1] / detJ; in MatInv2()
189 A_inv[1][0] = -A[1][0] / detJ; in MatInv2()
190 A_inv[1][1] = A[0][0] / detJ; in MatInv2()
201 CEED_QFUNCTION_HELPER void MatInv3(const CeedScalar A[3][3], CeedScalar A_inv[3][3], CeedScalar *de… in MatInv3()
203 A_inv[0][0] = A[1][1] * A[2][2] - A[1][2] * A[2][1]; in MatInv3()
204 A_inv[0][1] = A[0][2] * A[2][1] - A[0][1] * A[2][2]; in MatInv3()
205 A_inv[0][2] = A[0][1] * A[1][2] - A[0][2] * A[1][1]; in MatInv3()
206 A_inv[1][0] = A[1][2] * A[2][0] - A[1][0] * A[2][2]; in MatInv3()
207 A_inv[1][1] = A[0][0] * A[2][2] - A[0][2] * A[2][0]; in MatInv3()
208 A_inv[1][2] = A[0][2] * A[1][0] - A[0][0] * A[1][2]; in MatInv3()
209 A_inv[2][0] = A[1][0] * A[2][1] - A[1][1] * A[2][0]; in MatInv3()
210 A_inv[2][1] = A[0][1] * A[2][0] - A[0][0] * A[2][1]; in MatInv3()
211 A_inv[2][2] = A[0][0] * A[1][1] - A[0][1] * A[1][0]; in MatInv3()
213 const CeedScalar detJ = A[0][0] * A_inv[0][0] + A[1][0] * A_inv[0][1] + A[2][0] * A_inv[0][2]; in MatInv3()
239 CEED_QFUNCTION_HELPER void KMUnpack(const CeedScalar v[6], CeedScalar A[3][3]) { in KMUnpack()
241 A[0][0] = v[0]; in KMUnpack()
242 A[1][1] = v[1]; in KMUnpack()
243 A[2][2] = v[2]; in KMUnpack()
244 A[2][1] = A[1][2] = weight * v[3]; in KMUnpack()
245 A[2][0] = A[0][2] = weight * v[4]; in KMUnpack()
246 A[1][0] = A[0][1] = weight * v[5]; in KMUnpack()
250 CEED_QFUNCTION_HELPER void KMPack(const CeedScalar A[3][3], CeedScalar v[6]) { in KMPack()
252 v[0] = A[0][0]; in KMPack()
253 v[1] = A[1][1]; in KMPack()
254 v[2] = A[2][2]; in KMPack()
255 v[3] = A[2][1] * weight; in KMPack()
256 v[4] = A[2][0] * weight; in KMPack()
257 v[5] = A[1][0] * weight; in KMPack()