| 201 | |
| 202 | template <class FEL, ELEMENT_TYPE ET> |
| 203 | void T_HDivFiniteElement<FEL,ET>:: |
| 204 | CalcMappedNormalShape (const SIMD_BaseMappedIntegrationRule & bmir, |
| 205 | BareSliceMatrix<SIMD<double>> shapes) const |
| 206 | { |
| 207 | Iterate<4-DIM> |
| 208 | ([this,&bmir,shapes](auto CODIM) |
| 209 | { |
| 210 | constexpr int DIMSPACE = DIM+CODIM.value; |
| 211 | if (bmir.DimSpace() == DIMSPACE) |
| 212 | { |
| 213 | auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir); |
| 214 | for (size_t i = 0; i < mir.Size(); i++) |
| 215 | { |
| 216 | auto nv = mir[i].GetNV(); |
| 217 | auto shapesi = shapes.Col(i); |
| 218 | static_cast<const FEL*> (this) -> |
| 219 | T_CalcShape (GetTIPHDiv(mir[i]), |
| 220 | SBLambda ([shapesi, nv] (size_t j, auto s) |
| 221 | { |
| 222 | auto vshape = HDiv2ShapeNew (s); |
| 223 | // shapesi.Range(j*vshape.Size(), (j+1)*vshape.Size()) = vshape; |
| 224 | shapesi(j) = InnerProduct(nv, vshape); |
| 225 | })); |
| 226 | } |
| 227 | } |
| 228 | }); |
| 229 | } |
| 230 | |
| 231 | |
| 232 |
nothing calls this directly
no test coverage detected