Template Class ResultScalar¶
Defined in File result.hpp
Inheritance Relationships¶
Base Type¶
public sequant::Result(Class Result)
Class Documentation¶
-
template<typename T>
class ResultScalar : public sequant::Result¶ Result for a constant or a variable value.
- Template Parameters:
T – numeric type of the constant value (eg. double, complex<double>, etc.)
Public Types
-
using id_t = size_t¶
Public Functions
-
inline virtual ResultPtr sum(Result const &other, std::array<std::any, 3> const&) const override¶
Sum other Result object with this object.
Note
In std::array<std::any, 3> is expected to be [l,r,res] where the elements are the annotations for left, right and result respectively.
-
inline virtual ResultPtr prod(Result const &other, std::array<std::any, 3> const &maybe_empty, DeNest DeNestFlag) const override¶
Perform product binary operation with this object and other.
Note
In std::array<std::any, 3> is expected to be [l,r,res] where the elements are the annotations for left, right and result respectively.
-
inline virtual ResultPtr permute(std::array<std::any, 2> const&) const override¶
Permute this object according to the annotations in the argument.
Note
In std::array<std::any, 2> is expected to be [pre,post] where the elements are the annotations for the eval result before permutation and after permutation respectively.
-
inline virtual void add_inplace(Result const &other) override¶
Add other Result object into this object.
-
inline virtual ResultPtr antisymmetrize(size_t) const override¶
Particle antisymmetrize the eval result.
-
inline virtual ResultPtr clone() const override¶
An independently owned deep copy of this result.
The copy shares no mutable state with this object:
add_inplace()orwrite_into_slice()on either one leaves the other unchanged. Needed wherever an accumulation takes ownership of a buffer it does not own — the ordered executor’s Assemble step seeds its running sum from the first batch’s partial, which may still be read again (the producing cell has life left, or is persistent across evaluations) and so must not be mutated in place.