([&]()
+{
+ using namespace functor_dsl;
+
+ auto wantedLatticeF = restrict(wantedF.toShared(), sLattice);
+
+ return norm(wantedLatticeF - f.toShared(), indicatorF.toShared())
+ / norm
(wantedLatticeF, indicatorF.toShared());
+}())
+{
+ this->getName() = "relErrorNormL" + std::to_string(P);
+}
+
+template
+template
+SuperRelativeErrorLpNorm3D::SuperRelativeErrorLpNorm3D(
+ SuperLatticeF3D& f,
+ FunctorPtr>&& wantedF,
+ FunctorPtr>&& indicatorF)
+ : SuperRelativeErrorLpNorm3D(f.getSuperLattice(),
+ f,
+ std::forward(wantedF),
+ std::forward(indicatorF))
+{ }
+
+
+template
+template
+SuperAbsoluteErrorLpNorm3D::SuperAbsoluteErrorLpNorm3D(
+ SuperLattice3D& sLattice,
+ FunctorPtr>&& f,
+ FunctorPtr>&& wantedF,
+ FunctorPtr>&& indicatorF)
+ : SuperIdentity3D([&]()
+{
+ using namespace functor_dsl;
+
+ return norm(restrict(wantedF.toShared(), sLattice) - f.toShared(),
+ indicatorF.toShared());
+}())
+{
+ this->getName() = "absErrorNormL" + std::to_string(P);
+}
+
+template
+template
+SuperAbsoluteErrorLpNorm3D::SuperAbsoluteErrorLpNorm3D(
+ SuperLatticeF3D& f,
+ FunctorPtr>&& wantedF,
+ FunctorPtr>&& indicatorF)
+ : SuperAbsoluteErrorLpNorm3D(f.getSuperLattice(),
+ f,
+ std::forward(wantedF),
+ std::forward(indicatorF))
+{ }
+
+
+}
+
+#endif
--
cgit v1.2.3