Function sequant::impl::binarize(ResultExpr const&, const BinarizationOptions&, std::size_t&, detail::InlineContext *)

Function Documentation

EvalExprNode sequant::impl::binarize(ResultExpr const &res, const BinarizationOptions &opts, std::size_t &node_counter, detail::InlineContext *inline_ctx)

The head-aware binarization behind binarize(ResultExpr const&, …): binarizes the rhs with the head’s indices uncontracted, wrapping each short summand of a broadcast Sum in an EvalOp::Broadcast node, and stamps the root with the head.

Parameters:
  • node_counter – see binarize(ExprPtr const&, …) above

  • inline_ctx – see binarize(ExprPtr const&, …) above