| /libCEED/julia/LibCEED.jl/src/ |
| H A D | Misc.jl | 13 det(J, ::CeedDim{dim}) 17 @inline det(J, ::CeedDim{1}) = @inbounds J[1] argument 18 @inline det(J, ::CeedDim{2}) = @inbounds J[1]*J[4] - J[3]*J[2] argument 20 @inline det(J, ::CeedDim{3}) = @inbounds ( argument 21 J[1]*(J[5]*J[9] - J[6]*J[8]) - 22 J[2]*(J[4]*J[9] - J[6]*J[7]) + 23 J[3]*(J[4]*J[8] - J[5]*J[7]) 28 setvoigt(J::StaticArray{Tuple{D,D},T,2}) 29 setvoigt(J, ::CeedDim{dim}) 31 Given a symmetric matrix `J`, return a `SVector` that encodes `J` using the [Voigt [all …]
|
| /libCEED/examples/python/qfunctions/ |
| H A D | ex1-volume.h | 22 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() local 25 …CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { q_data[i] = J[0][0][i] * w[i]; } // End of Quadr… in build_mass() 28 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() local 32 q_data[i] = (J[0][0][i] * J[1][1][i] - J[0][1][i] * J[1][0][i]) * w[i]; in build_mass() 36 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() local 41 …(J[0][0][i] * (J[1][1][i] * J[2][2][i] - J[1][2][i] * J[2][1][i]) - J[0][1][i] * (J[1][0][i] * J[2… in build_mass() 42 J[0][2][i] * (J[1][0][i] * J[2][1][i] - J[1][1][i] * J[2][0][i])) * in build_mass()
|
| H A D | ex3-volume.h | 24 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass_diff() local 28 q_data[0][i] = w[i] * J[0][0][i]; in build_mass_diff() 31 q_data[1][i] = w[i] / J[0][0][i]; in build_mass_diff() 35 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass_diff() local 40 const CeedScalar J00 = J[0][0][i]; in build_mass_diff() 41 const CeedScalar J10 = J[0][1][i]; in build_mass_diff() 42 const CeedScalar J01 = J[1][0][i]; in build_mass_diff() 43 const CeedScalar J11 = J[1][1][i]; in build_mass_diff() 56 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass_diff() local 64 …J[(k + 1) % 3][(j + 1) % 3][i] * J[(k + 2) % 3][(j + 2) % 3][i] - J[(k + 2) % 3][(j + 1) % 3][i] *… in build_mass_diff() [all …]
|
| H A D | ex2-surface.h | 24 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_diff() local 26 …CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { q_data[0][i] = w[i] / J[0][0][i]; } // End of Qu… in build_diff() 29 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_diff() local 34 const CeedScalar J00 = J[0][0][i]; in build_diff() 35 const CeedScalar J10 = J[0][1][i]; in build_diff() 36 const CeedScalar J01 = J[1][0][i]; in build_diff() 37 const CeedScalar J11 = J[1][1][i]; in build_diff() 46 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_diff() local 57 …J[(k + 1) % 3][(j + 1) % 3][i] * J[(k + 2) % 3][(j + 2) % 3][i] - J[(k + 2) % 3][(j + 1) % 3][i] *… in build_diff() 62 … const CeedScalar qw = w[i] / (J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]); in build_diff()
|
| /libCEED/examples/ceed/ |
| H A D | ex1-volume-f-c.h | 21 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() local 24 …CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { q_data[i] = J[0][0][i] * w[i]; } // End of Quadr… in build_mass() 27 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() local 31 q_data[i] = (J[0][0][i] * J[1][1][i] - J[0][1][i] * J[1][0][i]) * w[i]; in build_mass() 35 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() local 40 …(J[0][0][i] * (J[1][1][i] * J[2][2][i] - J[1][2][i] * J[2][1][i]) - J[0][1][i] * (J[1][0][i] * J[2… in build_mass() 41 J[0][2][i] * (J[1][0][i] * J[2][1][i] - J[1][1][i] * J[2][0][i])) * in build_mass()
|
| H A D | ex1-volume.h | 26 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass() local 29 …CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { q_data[i] = J[0][0][i] * w[i]; } // End of Quadr… in build_mass() 32 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass() local 36 q_data[i] = (J[0][0][i] * J[1][1][i] - J[0][1][i] * J[1][0][i]) * w[i]; in build_mass() 40 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass() local 45 …(J[0][0][i] * (J[1][1][i] * J[2][2][i] - J[1][2][i] * J[2][1][i]) - J[0][1][i] * (J[1][0][i] * J[2… in build_mass() 46 J[0][2][i] * (J[1][0][i] * J[2][1][i] - J[1][1][i] * J[2][0][i])) * in build_mass()
|
| H A D | ex3-volume.h | 28 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_mass_diff() local 32 q_data[0][i] = w[i] * J[0][0][i]; in build_mass_diff() 35 q_data[1][i] = w[i] / J[0][0][i]; in build_mass_diff() 39 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_mass_diff() local 44 const CeedScalar J00 = J[0][0][i]; in build_mass_diff() 45 const CeedScalar J10 = J[0][1][i]; in build_mass_diff() 46 const CeedScalar J01 = J[1][0][i]; in build_mass_diff() 47 const CeedScalar J11 = J[1][1][i]; in build_mass_diff() 60 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_mass_diff() local 71 …J[(k + 1) % 3][(j + 1) % 3][i] * J[(k + 2) % 3][(j + 2) % 3][i] - J[(k + 2) % 3][(j + 1) % 3][i] *… in build_mass_diff() [all …]
|
| H A D | ex2-surface.h | 28 const CeedScalar(*J)[1][CEED_Q_VLA] = (const CeedScalar(*)[1][CEED_Q_VLA])in[0]; in build_diff() local 30 …CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { q_data[0][i] = w[i] / J[0][0][i]; } // End of Qu… in build_diff() 33 const CeedScalar(*J)[2][CEED_Q_VLA] = (const CeedScalar(*)[2][CEED_Q_VLA])in[0]; in build_diff() local 38 const CeedScalar J00 = J[0][0][i]; in build_diff() 39 const CeedScalar J10 = J[0][1][i]; in build_diff() 40 const CeedScalar J01 = J[1][0][i]; in build_diff() 41 const CeedScalar J11 = J[1][1][i]; in build_diff() 50 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in build_diff() local 61 …J[(k + 1) % 3][(j + 1) % 3][i] * J[(k + 2) % 3][(j + 2) % 3][i] - J[(k + 2) % 3][(j + 1) % 3][i] *… in build_diff() 66 … const CeedScalar qw = w[i] / (J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]); in build_diff()
|
| /libCEED/include/ceed/jit-source/gallery/ |
| H A D | ceed-mass3dbuild.h | 16 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0], *w = in[1]; in Mass3DBuild() local 22 …q_data[i] = (J[0][0][i] * (J[1][1][i] * J[2][2][i] - J[1][2][i] * J[2][1][i]) - J[0][1][i] * (J[1]… in Mass3DBuild() 23 J[0][2][i] * (J[1][0][i] * J[2][1][i] - J[1][1][i] * J[2][0][i])) * in Mass3DBuild()
|
| H A D | ceed-poisson3dbuild.h | 17 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0], *w = in[1]; in Poisson3DBuild() local 31 A[k][j] = J[(k + 1) % dim][(j + 1) % dim][i] * J[(k + 2) % dim][(j + 2) % dim][i] - in Poisson3DBuild() 32 J[(k + 2) % dim][(j + 1) % dim][i] * J[(k + 1) % dim][(j + 2) % dim][i]; in Poisson3DBuild() 35 … const CeedScalar qw = w[i] / (J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]); in Poisson3DBuild()
|
| /libCEED/examples/mfem/ |
| H A D | bp1.h | 20 const CeedScalar *J = in[0], *w = in[1]; in f_build_mass() local 26 CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { qdata[i] = J[i] * w[i]; } in f_build_mass() 33 qdata[i] = (J[i + Q * 0] * J[i + Q * 3] - J[i + Q * 1] * J[i + Q * 2]) * w[i]; in f_build_mass() 42 qdata[i] = (J[i + Q * 0] * (J[i + Q * 4] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 7]) - in f_build_mass() 43 J[i + Q * 1] * (J[i + Q * 3] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 6]) + in f_build_mass() 44 J[i + Q * 2] * (J[i + Q * 3] * J[i + Q * 7] - J[i + Q * 4] * J[i + Q * 6])) * in f_build_mass()
|
| H A D | bp3.h | 22 const CeedScalar *J = in[0], *w = in[1]; in f_build_diff() local 28 CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++) { qdata[i] = w[i] / J[i]; } in f_build_diff() 35 const CeedScalar J11 = J[i + Q * 0]; in f_build_diff() 36 const CeedScalar J21 = J[i + Q * 1]; in f_build_diff() 37 const CeedScalar J12 = J[i + Q * 2]; in f_build_diff() 38 const CeedScalar J22 = J[i + Q * 3]; in f_build_diff() 51 const CeedScalar J11 = J[i + Q * 0]; in f_build_diff() 52 const CeedScalar J21 = J[i + Q * 1]; in f_build_diff() 53 const CeedScalar J31 = J[i + Q * 2]; in f_build_diff() 54 const CeedScalar J12 = J[i + Q * 3]; in f_build_diff() [all …]
|
| /libCEED/examples/petsc/qfunctions/swarm/ |
| H A D | swarmmass.h | 11 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0]; in SetupMass() local 17 const CeedScalar B11 = J[1][1][i] * J[2][2][i] - J[1][2][i] * J[2][1][i]; in SetupMass() 18 const CeedScalar B12 = J[0][2][i] * J[2][1][i] - J[0][1][i] * J[2][2][i]; in SetupMass() 19 const CeedScalar B13 = J[0][1][i] * J[1][2][i] - J[0][2][i] * J[1][1][i]; in SetupMass() 21 q_data[i] = w[i] * (J[0][0][i] * B11 + J[1][0][i] * B12 + J[2][0][i] * B13); in SetupMass()
|
| /libCEED/examples/petsc/qfunctions/area/ |
| H A D | areasphere.h | 47 const CeedScalar *X = in[0], *J = in[1], *w = in[2]; in SetupMassGeoSphere() local 61 {J[i + Q * 0], J[i + Q * 3]}, in SetupMassGeoSphere() 62 {J[i + Q * 1], J[i + Q * 4]}, in SetupMassGeoSphere() 63 {J[i + Q * 2], J[i + Q * 5]} in SetupMassGeoSphere() 91 const CeedScalar J[3][1] = {{dxdX[1][0] * dxdX[2][1] - dxdX[2][0] * dxdX[1][1]}, in SetupMassGeoSphere() local 95 const CeedScalar mod_J = sqrt(J[0][0] * J[0][0] + J[1][0] * J[1][0] + J[2][0] * J[2][0]); in SetupMassGeoSphere()
|
| /libCEED/examples/nek/bps/ |
| H A D | bps.h | 24 const CeedScalar *J = in[1]; in masssetupf() local 29 CeedScalar det = (J[i + Q * 0] * (J[i + Q * 4] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 7]) - in masssetupf() 30 J[i + Q * 1] * (J[i + Q * 3] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 6]) + in masssetupf() 31 J[i + Q * 2] * (J[i + Q * 3] * J[i + Q * 7] - J[i + Q * 4] * J[i + Q * 6])); in masssetupf() 53 const CeedScalar *J = in[1]; in diffsetupf() local 63 const CeedScalar J11 = J[i + Q * 0]; in diffsetupf() 64 const CeedScalar J21 = J[i + Q * 1]; in diffsetupf() 65 const CeedScalar J31 = J[i + Q * 2]; in diffsetupf() 66 const CeedScalar J12 = J[i + Q * 3]; in diffsetupf() 67 const CeedScalar J22 = J[i + Q * 4]; in diffsetupf() [all …]
|
| /libCEED/backends/avx/ |
| H A D | ceed-avx-tensor.c | 42 …TensorContract_Avx_Blocked(CeedTensorContract contract, CeedInt A, CeedInt B, CeedInt C, CeedInt J, in CeedTensorContract_Avx_Blocked() argument 49 t_stride_1 = J; in CeedTensorContract_Avx_Blocked() 54 for (CeedInt j = 0; j < (J / JJ) * JJ; j += JJ) { in CeedTensorContract_Avx_Blocked() 58 … for (CeedInt cc = 0; cc < CC / 4; cc++) vv[jj][cc] = loadu(&v[(a * J + j + jj) * C + c + cc * 4]); in CeedTensorContract_Avx_Blocked() 69 … for (CeedInt cc = 0; cc < CC / 4; cc++) storeu(&v[(a * J + j + jj) * C + c + cc * 4], vv[jj][cc]); in CeedTensorContract_Avx_Blocked() 74 const CeedInt j = (J / JJ) * JJ; in CeedTensorContract_Avx_Blocked() 76 if (j < J) { in CeedTensorContract_Avx_Blocked() 80 for (CeedInt jj = 0; jj < J - j; jj++) { in CeedTensorContract_Avx_Blocked() 81 … for (CeedInt cc = 0; cc < CC / 4; cc++) vv[jj][cc] = loadu(&v[(a * J + j + jj) * C + c + cc * 4]); in CeedTensorContract_Avx_Blocked() 84 for (CeedInt jj = 0; jj < J - j; jj++) { // doesn't unroll in CeedTensorContract_Avx_Blocked() [all …]
|
| /libCEED/examples/petsc/qfunctions/bps/ |
| H A D | bp1sphere.h | 47 const CeedScalar *X = in[0], *J = in[1], *w = in[2]; in SetupMassGeo() local 61 {J[i + Q * 0], J[i + Q * 3]}, in SetupMassGeo() 62 {J[i + Q * 1], J[i + Q * 4]}, in SetupMassGeo() 63 {J[i + Q * 2], J[i + Q * 5]} in SetupMassGeo() 90 …const CeedScalar J[3] = {dxdX[1][0] * dxdX[2][1] - dxdX[2][0] * dxdX[1][1], dxdX[2][0] * dxdX[0][1… in SetupMassGeo() local 94 const CeedScalar mod_J = sqrt(J[0] * J[0] + J[1] * J[1] + J[2] * J[2]); in SetupMassGeo()
|
| H A D | bp3sphere.h | 60 const CeedScalar *X = in[0], *J = in[1], *w = in[2]; in SetupDiffGeo() local 73 {J[i + Q * 0], J[i + Q * 3]}, in SetupDiffGeo() 74 {J[i + Q * 1], J[i + Q * 4]}, in SetupDiffGeo() 75 {J[i + Q * 2], J[i + Q * 5]} in SetupDiffGeo() 102 …const CeedScalar J[3] = {dxdX[1][0] * dxdX[2][1] - dxdX[2][0] * dxdX[1][1], dxdX[2][0] * dxdX[0][1… in SetupDiffGeo() local 106 const CeedScalar mod_J = sqrt(J[0] * J[0] + J[1] * J[1] + J[2] * J[2]); in SetupDiffGeo()
|
| H A D | bp1.h | 28 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[1]; in SetupMassGeo() local 42 A[k][j] = J[(k + 1) % dim][(j + 1) % dim][i] * J[(k + 2) % dim][(j + 2) % dim][i] - in SetupMassGeo() 43 J[(k + 1) % dim][(j + 2) % dim][i] * J[(k + 2) % dim][(j + 1) % dim][i]; in SetupMassGeo() 46 const CeedScalar detJ = J[0][0][i] * A[0][0] + J[0][1][i] * A[0][1] + J[0][2][i] * A[0][2]; in SetupMassGeo()
|
| /libCEED/backends/xsmm/ |
| H A D | ceed-xsmm-tensor.c | 17 …_Xsmm(CeedTensorContract contract, CeedInt A, CeedInt B, CeedInt C, CeedInt J, const CeedScalar *r… in CeedTensorContractApply_Xsmm() argument 25 …? libxsmm_create_gemm_shape(J, A, B, !t_mode ? B : J, B, J, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE… in CeedTensorContractApply_Xsmm() 27 …: libxsmm_create_gemm_shape(J, A, B, !t_mode ? B : J, B, J, LIBXSMM_DATATYPE_F32, LIBXSMM_DATATYPE… in CeedTensorContractApply_Xsmm() 45 …? libxsmm_create_gemm_shape(C, J, B, C, !t_mode ? B : J, C, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE… in CeedTensorContractApply_Xsmm() 47 …: libxsmm_create_gemm_shape(C, J, B, C, !t_mode ? B : J, C, LIBXSMM_DATATYPE_F32, LIBXSMM_DATATYPE… in CeedTensorContractApply_Xsmm() 58 gemm_param.c.primary = (CeedScalar *)&v[a * J * C]; in CeedTensorContractApply_Xsmm()
|
| /libCEED/examples/deal.II/ |
| H A D | bps-qfunctions.h | 39 const CeedScalar *J = in[0], *w = in[1]; in f_build_mass() local 47 qdata[i] = J[i] * w[i]; in f_build_mass() 53 qdata[i] = (J[i + Q * 0] * J[i + Q * 3] - J[i + Q * 1] * J[i + Q * 2]) * w[i]; in f_build_mass() 59 qdata[i] = (J[i + Q * 0] * (J[i + Q * 4] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 7]) - in f_build_mass() 60 J[i + Q * 1] * (J[i + Q * 3] * J[i + Q * 8] - J[i + Q * 5] * J[i + Q * 6]) + in f_build_mass() 61 J[i + Q * 2] * (J[i + Q * 3] * J[i + Q * 7] - J[i + Q * 4] * J[i + Q * 6])) * in f_build_mass() 140 const CeedScalar *J = in[0], *w = in[1]; in f_build_poisson() local 148 qdata[i] = w[i] / J[i]; in f_build_poisson() 154 const CeedScalar J11 = J[i + Q * 0]; in f_build_poisson() 155 const CeedScalar J21 = J[i + Q * 1]; in f_build_poisson() [all …]
|
| /libCEED/tests/ |
| H A D | t535-operator.h | 11 const CeedScalar *J = in[0], *weight = in[1]; in setup_mass() local 14 rho[i] = weight[i] * (J[i + Q * 0] * J[i + Q * 3] - J[i + Q * 1] * J[i + Q * 2]); in setup_mass() 25 const CeedScalar *J = in[0], *qw = in[1]; in setup_diff() local 34 const CeedScalar J11 = J[i + Q * 0]; in setup_diff() 35 const CeedScalar J21 = J[i + Q * 1]; in setup_diff() 36 const CeedScalar J12 = J[i + Q * 2]; in setup_diff() 37 const CeedScalar J22 = J[i + Q * 3]; in setup_diff()
|
| /libCEED/examples/solids/qfunctions/ |
| H A D | common.h | 36 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0], (*w) = in[1]; in SetupGeo() local 45 const CeedScalar J11 = J[0][0][i]; in SetupGeo() 46 const CeedScalar J21 = J[0][1][i]; in SetupGeo() 47 const CeedScalar J31 = J[0][2][i]; in SetupGeo() 48 const CeedScalar J12 = J[1][0][i]; in SetupGeo() 49 const CeedScalar J22 = J[1][1][i]; in SetupGeo() 50 const CeedScalar J32 = J[1][2][i]; in SetupGeo() 51 const CeedScalar J13 = J[2][0][i]; in SetupGeo() 52 const CeedScalar J23 = J[2][1][i]; in SetupGeo() 53 const CeedScalar J33 = J[2][2][i]; in SetupGeo()
|
| H A D | traction-boundary.h | 30 const CeedScalar(*J)[3][CEED_Q_VLA] = (const CeedScalar(*)[3][CEED_Q_VLA])in[0], (*w) = in[1]; in SetupTractionBCs() local 42 {J[0][0][i], J[1][0][i]}, in SetupTractionBCs() 43 {J[0][1][i], J[1][1][i]}, in SetupTractionBCs() 44 {J[0][2][i], J[1][2][i]} in SetupTractionBCs()
|
| /libCEED/backends/opt/ |
| H A D | ceed-opt-tensor.c | 16 …nsorContractApply_Core_Opt(CeedTensorContract contract, CeedInt A, CeedInt B, CeedInt C, CeedInt J, in CeedTensorContractApply_Core_Opt() argument 23 t_stride_1 = J; in CeedTensorContractApply_Core_Opt() 28 for (CeedInt j = 0; j < J; j++) { in CeedTensorContractApply_Core_Opt() 30 for (CeedInt c = 0; c < C; c++) v[(a * J + j) * C + c] += tq * u[(a * B + b) * C + c]; in CeedTensorContractApply_Core_Opt() 40 …y_Opt(CeedTensorContract contract, CeedInt A, CeedInt B, CeedInt C, CeedInt J, const CeedScalar *r… in CeedTensorContractApply_Opt() argument 43 for (CeedInt q = 0; q < A * J * C; q++) v[q] = (CeedScalar)0.0; in CeedTensorContractApply_Opt() 46 if (C == 1) return CeedTensorContractApply_Core_Opt(contract, A, B, 1, J, t, t_mode, add, u, v); in CeedTensorContractApply_Opt() 47 else return CeedTensorContractApply_Core_Opt(contract, A, B, C, J, t, t_mode, add, u, v); in CeedTensorContractApply_Opt()
|