Class ResultDryRun

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class ResultDryRun : public sequant::Result

Flat (non-CSV) zero-data tensor token.

Carries only its own literal outer index list (canon order — the same order EvalExpr::canon_indices()/annot() use, so slice_mode()/ mode_batches()'s positional mode argument indexes it correctly), an ExtentOverrides table recording any runtime slice_mode()/ mode_batches() narrowing (keyed by Index so it survives reshaping across prod/sum/permute), and a shared CostModel. No tensor data is ever allocated or copied; every op is index-set bookkeeping plus a CostModel query. Mirrors ResultTensorTAPP's structure (backends/tapp/result.hpp) with every real-tensor line replaced by that bookkeeping.

Public Types

using id_t = size_t

Public Functions

inline ResultDryRun(container::svector<Index> idxset, std::shared_ptr<CostModel const> cm, ExtentOverrides overrides = {}, ExtentOverrides lobounds = {})
inline ExtentOverrides const &lobounds() const noexcept
inline container::svector<Index> const &indices() const noexcept
inline ExtentOverrides const &overrides() const noexcept
inline std::pair<std::size_t, std::size_t> assembled_range(std::size_t mode) const

The contiguous [lo, hi) element range of outer mode mode assembled so far by write_into_slice() (empty {0, 0} if nothing written).