|
MADNESS 0.10.1
|
#include <leafop.h>

Public Member Functions | |
| virtual | ~LeafOpBase ()=default |
| virtual bool | do_pre_screening () const |
| if true, the op uses pre_screening(key) before computing coeffs. | |
| virtual bool | post_screening (const Key< NDIM > &, const GenTensor< T > &) const |
| virtual bool | pre_screening (const Key< NDIM > &) const |
| virtual bool | special_refinement_needed (const Key< NDIM > &) const |
| true ⇒ force refinement at the current key (e.g. cusp / special-box). | |
Abstract base for leaf_ops with the four-hook interface used by composite_product_op_NS (do_pre_screening, pre_screening, special_refinement_needed, post_screening).
This base is intentionally non-templated on the convolution-op type or the special-box helper, so that polymorphic dispatch is possible across all concrete leaf_ops the composite operator can take.
NOTE: the leaf_op concept used by multiply, hartree_product, apply (the *_leaf_op, op_leaf_op, hartree_leaf_op types in funcimpl.h) is a different concept — those are operator()-based callables with key/coeff signatures and are not unified here.
|
virtualdefault |
|
inlinevirtual |
if true, the op uses pre_screening(key) before computing coeffs.
Reimplemented in madness::Leaf_op< T, NDIM, opT, specialboxT >, madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >, and madness::Leaf_op_other< T, NDIM >.
|
inlinevirtual |
true ⇒ the computed coefficients are sufficiently small/converged that the current key can be a leaf node.
Reimplemented in madness::Leaf_op< T, NDIM, opT, specialboxT >, madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >, and madness::Leaf_op_other< T, NDIM >.
|
inlinevirtual |
true ⇒ the current key is already a leaf; do not refine further. Only called when do_pre_screening() == true.
Reimplemented in madness::Leaf_op< T, NDIM, opT, specialboxT >, madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >, and madness::Leaf_op_other< T, NDIM >.
|
inlinevirtual |
true ⇒ force refinement at the current key (e.g. cusp / special-box).
Reimplemented in madness::Leaf_op< T, NDIM, opT, specialboxT >, madness::Leaf_op< T, NDIM, SeparatedConvolution< double, NDIM >, Specialbox_op< T, NDIM > >, and madness::Leaf_op_other< T, NDIM >.