Minsky
minsky::MultiWireBinOp< op > Struct Template Reference
Inheritance diagram for minsky::MultiWireBinOp< op >:
Inheritance graph
Collaboration diagram for minsky::MultiWireBinOp< op >:
Collaboration graph

Public Member Functions

void setArguments (const std::vector< TensorPtr > &a1, const std::vector< TensorPtr > &a2, const ITensor::Args &) override
 
- Public Member Functions inherited from minsky::TensorBinOp< op >
 TensorBinOp ()
 
void setState (const OperationPtr &state) override
 
void setArguments (const TensorPtr &a1, const TensorPtr &a2, const ITensor::Args &args={"", 0}) override
 
double dFlow (size_t ti, size_t fi) const override
 
double dStock (size_t ti, size_t si) const override
 
- Public Member Functions inherited from civita::BinOp
template<class F >
 BinOp (F f, const TensorPtr &arg1={}, const TensorPtr &arg2={})
 
void setArguments (const TensorPtr &a1, const TensorPtr &a2, const ITensor::Args &) override
 
double operator[] (std::size_t i) const override
 return or compute data at a location More...
 
Timestamp timestamp () const override
 timestamp indicating how old the dependendent data might be. Used in CachedTensorOp to determine when to invalidate the cache More...
 
- Public Member Functions inherited from civita::ITensor
 CLASSDESC_ACCESS (ITensor)
 
 ITensor ()
 
 ITensor (const Hypercube &hc)
 
 ITensor (Hypercube &&hc)
 
 ITensor (const std::vector< unsigned > &dims)
 
 ITensor (const ITensor &)=default
 
 ITensor (ITensor &&)=default
 
ITensoroperator= (const ITensor &)=default
 
ITensoroperator= (ITensor &&)=default
 
virtual ~ITensor ()
 
virtual const Hypercube & hypercube () const
 information describing the axes, types and labels of this tensor More...
 
virtual const Hypercube & hypercube (const Hypercube &hc)
 
virtual const Hypercube & hypercube (Hypercube &&hc)
 
std::size_t rank () const
 
std::vector< unsigned > shape () const
 
void imposeDimensions (const Dimensions &dimensions)
 impose dimensions according to dimension map dimensions More...
 
virtual const Index & index () const
 the index vector - assumed to be ordered and unique More...
 
virtual std::size_t size () const
 return number of elements in tensor - maybe less than hypercube.numElements if sparse More...
 
double atHCIndex (std::size_t hcIdx) const
 returns the data value at hypercube index hcIdx, or NaN if More...
 
template<class T >
std::size_t hcIndex (const std::initializer_list< T > &indices) const
 
template<class T >
double operator() (const std::initializer_list< T > &indices) const
 
virtual void setArgument (const TensorPtr &, const ITensor::Args &args={"", 0})
 
virtual void setArguments (const std::vector< TensorPtr > &a, const ITensor::Args &args={"", 0})
 
- Public Member Functions inherited from minsky::DerivativeMixin
virtual double dFlow (std::size_t ti, std::size_t fi) const =0
 partial derivative of tensor component ti wrt flow variable fi More...
 
virtual double dStock (std::size_t ti, std::size_t si) const =0
 partial derivative of tensor component ti wrt stock variable si More...
 
- Public Member Functions inherited from minsky::SetState
virtual ~SetState ()
 

Additional Inherited Members

- Public Types inherited from civita::ITensor
using Timestamp = std::chrono::time_point< std::chrono::high_resolution_clock >
 
- Public Attributes inherited from minsky::TensorBinOp< op >
EvalOp< opeo
 
- Protected Member Functions inherited from civita::ITensor
void notImpl () const
 
- Protected Attributes inherited from civita::BinOp
std::function< double(double, double)> f
 
TensorPtr arg1
 
TensorPtr arg2
 
- Protected Attributes inherited from civita::ITensor
Hypercube m_hypercube
 
Index m_index
 

Detailed Description

template<OperationType::Type op>
struct minsky::MultiWireBinOp< op >

Definition at line 278 of file minskyTensorOps.cc.

Member Function Documentation

◆ setArguments()

template<OperationType::Type op>
void minsky::MultiWireBinOp< op >::setArguments ( const std::vector< TensorPtr > &  a1,
const std::vector< TensorPtr > &  a2,
const ITensor::Args  
)
inlineoverridevirtual

Reimplemented from civita::ITensor.

Definition at line 281 of file minskyTensorOps.cc.

284  {
285  TensorPtr pa1, pa2;
286  if (a1.size()==1)
287  pa1=a1[0];
288  else
289  {
290  pa1 = make_shared<AccumArgs<op>>();
291  pa1->setArguments(a1,{"",0});
292  }
293 
294  if (a2.size()==1)
295  pa2=a2[0];
296  else
297  {
298  pa2 = make_shared<AccumArgs<op>>();
299  pa2->setArguments(a2,{"",0});
300  }
301 
302  TensorBinOp<op>::setArguments(pa1, pa2,{"",0});
303  }
void setArguments(const TensorPtr &a1, const TensorPtr &a2, const ITensor::Args &args={"", 0}) override
std::shared_ptr< ITensor > TensorPtr

The documentation for this struct was generated from the following file: