DEAL_II_NAMESPACE_OPEN
+#ifdef DEBUG
+# define DEAL_II_ALWAYS_INLINE_RELEASE
+#else
+# define DEAL_II_ALWAYS_INLINE_RELEASE DEAL_II_ALWAYS_INLINE
+#endif
+
// forward declaration
template <int, typename, bool, typename>
.subface_interpolation_matrices_scalar;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- create(
- const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask,
- const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
- mask_new,
- const unsigned int v)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ create(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask,
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ mask_new,
+ const unsigned int v)
{
(void)mask;
(void)mask_new;
return v;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
(void)kind;
return false;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_continue(unsigned int v,
- const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_continue(unsigned int v,
+ const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
return kind == MatrixFreeFunctions::ConstraintKinds::unconstrained;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
- create_mask(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE
+ std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ create_mask(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask)
{
return mask;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- typename T1::value_type
- get_value(const typename T1::value_type &value, const index_type &i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE typename T1::value_type
+ get_value(const typename T1::value_type &value, const index_type &i)
{
(void)i;
return value;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- typename T1::value_type
- get_value(const T1 &value, const index_type &i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE typename T1::value_type
+ get_value(const T1 &value, const index_type &i)
{
return value[i];
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- set_value(T1 & result,
- const typename T1::value_type &value,
- const index_type & i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ set_value(T1 & result,
+ const typename T1::value_type &value,
+ const index_type & i)
{
result[i] = value;
}
.subface_interpolation_matrices;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
(void)kind;
return false;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_continue(unsigned int v,
- const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_continue(unsigned int v,
+ const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
return kind == MatrixFreeFunctions::ConstraintKinds::unconstrained;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- index_type
- create(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask,
- const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask_new,
- const unsigned int v)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE index_type
+ create(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask,
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ mask_new,
+ const unsigned int v)
{
(void)mask;
(void)mask_new;
return {result, T1(1.0) - result};
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
- create_mask(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE
+ std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ create_mask(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask)
{
return mask;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- T1
- get_value(const T1 &value, const index_type &)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE T1
+ get_value(const T1 &value, const index_type &)
{
return value;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- set_value(T1 &result, const T1 &value, const index_type &i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ set_value(T1 &result, const T1 &value, const index_type &i)
{
result = result * i.second + value * i.first;
}
.subface_interpolation_matrices;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
return kind == MatrixFreeFunctions::ConstraintKinds::unconstrained;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_continue(unsigned int v,
- const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_continue(unsigned int v,
+ const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)v;
return kind == MatrixFreeFunctions::ConstraintKinds::unconstrained;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- index_type
- create(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask,
- const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask_new,
- const unsigned int v)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE index_type
+ create(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask,
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ mask_new,
+ const unsigned int v)
{
T1 result;
return {result, T1(1.0) - result};
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
- create_mask(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE
+ std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ create_mask(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask)
{
auto new_mask = mask;
return new_mask;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- T1
- get_value(const T1 &value, const index_type &)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE T1
+ get_value(const T1 &value, const index_type &)
{
return value;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- set_value(T1 &result, const T1 &value, const index_type &i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ set_value(T1 &result, const T1 &value, const index_type &i)
{
result = result * i.second + value * i.first;
}
.subface_interpolation_matrices;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_break(unsigned int v, const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)kind;
return v > 0;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- bool
- do_continue(unsigned int v,
- const MatrixFreeFunctions::ConstraintKinds &kind)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE bool
+ do_continue(unsigned int v,
+ const MatrixFreeFunctions::ConstraintKinds &kind)
{
(void)kind;
return v > 0; // should not be called
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- T1
- create(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask,
- const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask_new,
- const unsigned int v)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE T1
+ create(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask,
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ mask_new,
+ const unsigned int v)
{
(void)mask;
(void)mask_new;
return 1.0; // return something since not used
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
- create_mask(const std::array<MatrixFreeFunctions::ConstraintKinds,
- T1::size()> mask)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE
+ std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()>
+ create_mask(
+ const std::array<MatrixFreeFunctions::ConstraintKinds, T1::size()> mask)
{
return mask;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- T1
- get_value(const T1 &value, const index_type &)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE T1
+ get_value(const T1 &value, const index_type &)
{
return value;
}
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- set_value(T1 &result, const T1 &value, const index_type &i)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ set_value(T1 &result, const T1 &value, const index_type &i)
{
(void)i;
result = value;
class HelperBase
{
public:
- inline DEAL_II_ALWAYS_INLINE
+ inline DEAL_II_ALWAYS_INLINE_RELEASE
HelperBase(
const T & t,
const unsigned int & given_degree,
{}
template <unsigned int direction, unsigned int d, bool skip_borders>
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- interpolate_3D_face(
- const unsigned int dof_offset,
- const unsigned int given_degree,
- const typename Trait<Number, VectorizationType>::index_type v,
- const typename Trait<Number, VectorizationType>::interpolation_type
- *DEAL_II_RESTRICT weight,
- Number *DEAL_II_RESTRICT values)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ interpolate_3D_face(
+ const unsigned int dof_offset,
+ const unsigned int given_degree,
+ const typename Trait<Number, VectorizationType>::index_type v,
+ const typename Trait<Number, VectorizationType>::interpolation_type
+ *DEAL_II_RESTRICT weight,
+ Number *DEAL_II_RESTRICT values)
{
static constexpr unsigned int max_n_points_1D = 40;
}
template <unsigned int direction>
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- interpolate_3D_edge(
- const unsigned int p,
- const unsigned int given_degree,
- const typename Trait<Number, VectorizationType>::index_type v,
- const typename Trait<Number, VectorizationType>::interpolation_type
- *DEAL_II_RESTRICT weight,
- Number *DEAL_II_RESTRICT values)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ interpolate_3D_edge(
+ const unsigned int p,
+ const unsigned int given_degree,
+ const typename Trait<Number, VectorizationType>::index_type v,
+ const typename Trait<Number, VectorizationType>::interpolation_type
+ *DEAL_II_RESTRICT weight,
+ Number *DEAL_II_RESTRICT values)
{
static constexpr unsigned int max_n_points_1D = 40;
}
template <bool do_x, bool do_y, bool do_z>
- inline
-#ifndef DEBUG
- DEAL_II_ALWAYS_INLINE
-#endif
- void
- process_edge() const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ process_edge() const
{
if (do_x)
interpolate_3D_edge<0>(t.line(0, type_y, type_z),
}
template <bool do_x, bool do_y, bool do_z>
- inline
-#ifndef DEBUG
- DEAL_II_ALWAYS_INLINE
-#endif
- void
- process_faces_fast() const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ process_faces_fast() const
{
static_assert((do_x && !do_y && !do_z) || (!do_x && do_y && !do_z) ||
(!do_x && !do_y && do_z),
}
template <bool do_x, bool do_y, bool do_z>
- inline
-#ifndef DEBUG
- DEAL_II_ALWAYS_INLINE
-#endif
- void
- process_faces() const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ process_faces() const
{
static_assert(((do_x && !do_y && !do_z) || (!do_x && do_y && !do_z) ||
(!do_x && !do_y && do_z)) == false,
transpose>
{
public:
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
+ inline DEAL_II_ALWAYS_INLINE_RELEASE
Helper(const unsigned int &given_degree,
const bool & type_x,
const bool & type_y,
const unsigned int points;
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- line(unsigned int i, unsigned int j, unsigned int k) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ line(unsigned int i, unsigned int j, unsigned int k) const
{
return line_array[i][j][k];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- face(unsigned int i, unsigned int j) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ face(unsigned int i, unsigned int j) const
{
return face_array[i][j];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- lines_plane(unsigned int i,
- unsigned int j,
- unsigned int k,
- unsigned int l) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ lines_plane(unsigned int i,
+ unsigned int j,
+ unsigned int k,
+ unsigned int l) const
{
return lines_plane_array[i][j][k][l];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- lines(unsigned int i,
- unsigned int j,
- unsigned int k,
- unsigned int l) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ lines(unsigned int i, unsigned int j, unsigned int k, unsigned int l) const
{
return lines_array[i][j][k][l];
}
transpose>
{
public:
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
+ inline DEAL_II_ALWAYS_INLINE_RELEASE
Helper(const unsigned int &given_degree,
const bool & type_x,
const bool & type_y,
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- line(unsigned int i, unsigned int j, unsigned int k) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ line(unsigned int i, unsigned int j, unsigned int k) const
{
static constexpr unsigned int points = fe_degree + 1;
return line_array[i][j][k];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- face(unsigned int i, unsigned int j) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ face(unsigned int i, unsigned int j) const
{
static constexpr unsigned int points = fe_degree + 1;
return face_array[i][j];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- lines_plane(unsigned int i,
- unsigned int j,
- unsigned int k,
- unsigned int l) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ lines_plane(unsigned int i,
+ unsigned int j,
+ unsigned int k,
+ unsigned int l) const
{
static constexpr unsigned int points = fe_degree + 1;
return lines_plane_array[i][j][k][l];
}
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- unsigned int
- lines(unsigned int i,
- unsigned int j,
- unsigned int k,
- unsigned int l) const
+ inline DEAL_II_ALWAYS_INLINE_RELEASE unsigned int
+ lines(unsigned int i, unsigned int j, unsigned int k, unsigned int l) const
{
static constexpr unsigned int points = fe_degree + 1;
private:
template <unsigned int side, bool transpose>
- static
-#ifndef DEBUG
- inline DEAL_II_ALWAYS_INLINE
-#endif
- void
- interpolate_2D(
- const unsigned int given_degree,
- const typename Trait<Number, VectorizationType>::index_type v,
- const typename Trait<Number, VectorizationType>::interpolation_type
- *DEAL_II_RESTRICT weight,
- Number *DEAL_II_RESTRICT values)
+ static inline DEAL_II_ALWAYS_INLINE_RELEASE void
+ interpolate_2D(
+ const unsigned int given_degree,
+ const typename Trait<Number, VectorizationType>::index_type v,
+ const typename Trait<Number, VectorizationType>::interpolation_type
+ *DEAL_II_RESTRICT weight,
+ Number *DEAL_II_RESTRICT values)
{
static constexpr unsigned int max_n_points_1D = 40;
} // end of namespace internal
+#undef DEAL_II_ALWAYS_INLINE_RELEASE
+
DEAL_II_NAMESPACE_CLOSE