| 1190 | |
| 1191 | template <ELEMENT_TYPE ET> |
| 1192 | void TangentialFacetVolumeFE<ET> :: AddDualTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values, BareSliceVector<double> coefs) const |
| 1193 | { |
| 1194 | Switch<4-DIM> |
| 1195 | (bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM) |
| 1196 | { |
| 1197 | constexpr int DIMSPACE = DIM+CODIM.value; |
| 1198 | auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir); |
| 1199 | for (size_t i = 0; i < mir.Size(); i++) |
| 1200 | { |
| 1201 | Vec<DIMSPACE,SIMD<double>> value = values.Col(i); |
| 1202 | this -> CalcDualShape2 (mir[i], mir[i].IP().FacetNr(), |
| 1203 | SBLambda([value, coefs] (size_t j, auto val) |
| 1204 | { |
| 1205 | coefs(j) += HSum(InnerProduct(value,val)); |
| 1206 | })); |
| 1207 | } |
| 1208 | }); |
| 1209 | } |
| 1210 | |
| 1211 | template class TangentialFacetFacetFE<ET_SEGM>; |
| 1212 | template class TangentialFacetFacetFE<ET_TRIG>; |
nothing calls this directly
no test coverage detected