Program Listing for File batch_policy.hpp

Return to documentation for file (SeQuant/core/batch_policy.hpp)

#ifndef SEQUANT_CORE_BATCH_POLICY_HPP
#define SEQUANT_CORE_BATCH_POLICY_HPP

#include <cstddef>
#include <functional>

namespace sequant {

class Index;
class Tensor;

struct BatchPolicy {
  std::function<bool(Index const&)> is_batchable_index = {};
  std::function<std::size_t(Index const&)> batch_target_size = {};
  std::function<bool(Tensor const&)> is_volatile_leaf = {};

  bool persistent_only = false;

  double accumulation_factor = 0.0;
};

}  // namespace sequant

#endif  // SEQUANT_CORE_BATCH_POLICY_HPP