Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op > Class Template Referencefinal

template<typename T, EBasicBinaryOperator Op>
class TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >

Definition at line 67 of file ROperator_BasicBinary.hxx.

Public Member Functions

 ROperator_BasicBinary ()
 ROperator_BasicBinary (std::string nameA, std::string nameB, std::string nameY)
std::string Generate (std::string opName) override
virtual std::string GenerateDeclCode ()
std::string GenerateInitCode () override
virtual std::string GenerateSessionMembersCode (std::string)
virtual std::vector< std::string > GetBlasRoutines ()
std::span< const std::string_view > GetOpInputTensors () const
std::span< const std::string_view > GetOpOutputTensors () const
std::vector< std::string > GetStdLibs () override
virtual std::string Header ()
void Initialize (RModel &model) override
bool IsOutputConstant () const
 check if the output of the operator is Constant and is evaluated at initialization time
std::vector< std::vector< size_t > > ShapeInference (std::vector< std::vector< size_t > > input) override
std::vector< ETensorTypeTypeInference (std::vector< ETensorType > input) override

Protected Attributes

std::vector< std::string_view > fInputTensorNames
bool fIsOutputConstant = false
 flag to identify if operator has a constant output (no need to generate code)
bool fIsOutputParamShape = false
 flag to identify of the output represents a parametric shape (can be knwon at compile time)
std::vector< std::string_view > fOutputTensorNames
bool fUseSession = false
 flag to identify if using the session class
const std::string SP = " "
 space used to correctly indent the generated C++ code

Private Attributes

int fBroadcastFlag = 0
std::vector< DimfDimShapeA
std::vector< DimfDimShapeB
std::vector< DimfDimShapeY
std::string fNA
std::string fNB
std::string fNBroadcastedA
std::string fNBroadcastedB
std::string fNY
std::vector< size_t > fShapeA
std::vector< size_t > fShapeB
std::vector< size_t > fShapeY

#include <TMVA/ROperator_BasicBinary.hxx>

Inheritance diagram for TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >:
TMVA::Experimental::SOFIE::ROperator

Constructor & Destructor Documentation

◆ ROperator_BasicBinary() [1/2]

template<typename T, EBasicBinaryOperator Op>
TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::ROperator_BasicBinary ( )
inline

Definition at line 85 of file ROperator_BasicBinary.hxx.

◆ ROperator_BasicBinary() [2/2]

template<typename T, EBasicBinaryOperator Op>
TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::ROperator_BasicBinary ( std::string nameA,
std::string nameB,
std::string nameY )
inline

Definition at line 86 of file ROperator_BasicBinary.hxx.

Member Function Documentation

◆ Generate()

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::Generate ( std::string opName)
inlineoverridevirtual

Implements TMVA::Experimental::SOFIE::ROperator.

Definition at line 328 of file ROperator_BasicBinary.hxx.

◆ GenerateDeclCode()

virtual std::string TMVA::Experimental::SOFIE::ROperator::GenerateDeclCode ( )
inlinevirtualinherited

Reimplemented in TMVA::Experimental::SOFIE::ROperator_Random.

Definition at line 31 of file ROperator.hxx.

◆ GenerateInitCode()

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::GenerateInitCode ( )
inlineoverridevirtual

Reimplemented from TMVA::Experimental::SOFIE::ROperator.

Definition at line 322 of file ROperator_BasicBinary.hxx.

◆ GenerateSessionMembersCode()

virtual std::string TMVA::Experimental::SOFIE::ROperator::GenerateSessionMembersCode ( std::string )
inlinevirtualinherited

◆ GetBlasRoutines()

◆ GetOpInputTensors()

std::span< const std::string_view > TMVA::Experimental::SOFIE::ROperator::GetOpInputTensors ( ) const
inlineinherited

Definition at line 54 of file ROperator.hxx.

◆ GetOpOutputTensors()

std::span< const std::string_view > TMVA::Experimental::SOFIE::ROperator::GetOpOutputTensors ( ) const
inlineinherited

Definition at line 58 of file ROperator.hxx.

◆ GetStdLibs()

template<typename T, EBasicBinaryOperator Op>
std::vector< std::string > TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::GetStdLibs ( )
inlineoverridevirtual

Reimplemented from TMVA::Experimental::SOFIE::ROperator.

Definition at line 448 of file ROperator_BasicBinary.hxx.

◆ Header()

virtual std::string TMVA::Experimental::SOFIE::ROperator::Header ( )
inlinevirtualinherited

Definition at line 34 of file ROperator.hxx.

◆ Initialize()

template<typename T, EBasicBinaryOperator Op>
void TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::Initialize ( RModel & model)
inlineoverridevirtual

Implements TMVA::Experimental::SOFIE::ROperator.

Definition at line 104 of file ROperator_BasicBinary.hxx.

◆ IsOutputConstant()

bool TMVA::Experimental::SOFIE::ROperator::IsOutputConstant ( ) const
inlineinherited

check if the output of the operator is Constant and is evaluated at initialization time

Definition at line 37 of file ROperator.hxx.

◆ ShapeInference()

template<typename T, EBasicBinaryOperator Op>
std::vector< std::vector< size_t > > TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::ShapeInference ( std::vector< std::vector< size_t > > input)
inlineoverridevirtual

Reimplemented from TMVA::Experimental::SOFIE::ROperator.

Definition at line 97 of file ROperator_BasicBinary.hxx.

◆ TypeInference()

template<typename T, EBasicBinaryOperator Op>
std::vector< ETensorType > TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::TypeInference ( std::vector< ETensorType > input)
inlineoverridevirtual

Reimplemented from TMVA::Experimental::SOFIE::ROperator.

Definition at line 94 of file ROperator_BasicBinary.hxx.

Member Data Documentation

◆ fBroadcastFlag

template<typename T, EBasicBinaryOperator Op>
int TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fBroadcastFlag = 0
private

Definition at line 69 of file ROperator_BasicBinary.hxx.

◆ fDimShapeA

template<typename T, EBasicBinaryOperator Op>
std::vector<Dim> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fDimShapeA
private

Definition at line 80 of file ROperator_BasicBinary.hxx.

◆ fDimShapeB

template<typename T, EBasicBinaryOperator Op>
std::vector<Dim> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fDimShapeB
private

Definition at line 81 of file ROperator_BasicBinary.hxx.

◆ fDimShapeY

template<typename T, EBasicBinaryOperator Op>
std::vector<Dim> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fDimShapeY
private

Definition at line 82 of file ROperator_BasicBinary.hxx.

◆ fInputTensorNames

std::vector<std::string_view> TMVA::Experimental::SOFIE::ROperator::fInputTensorNames
mutableprotectedinherited

Definition at line 50 of file ROperator.hxx.

◆ fIsOutputConstant

bool TMVA::Experimental::SOFIE::ROperator::fIsOutputConstant = false
protectedinherited

flag to identify if operator has a constant output (no need to generate code)

Definition at line 47 of file ROperator.hxx.

◆ fIsOutputParamShape

bool TMVA::Experimental::SOFIE::ROperator::fIsOutputParamShape = false
protectedinherited

flag to identify of the output represents a parametric shape (can be knwon at compile time)

Definition at line 48 of file ROperator.hxx.

◆ fNA

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fNA
private

Definition at line 70 of file ROperator_BasicBinary.hxx.

◆ fNB

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fNB
private

Definition at line 71 of file ROperator_BasicBinary.hxx.

◆ fNBroadcastedA

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fNBroadcastedA
private

Definition at line 72 of file ROperator_BasicBinary.hxx.

◆ fNBroadcastedB

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fNBroadcastedB
private

Definition at line 73 of file ROperator_BasicBinary.hxx.

◆ fNY

template<typename T, EBasicBinaryOperator Op>
std::string TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fNY
private

Definition at line 74 of file ROperator_BasicBinary.hxx.

◆ fOutputTensorNames

std::vector<std::string_view> TMVA::Experimental::SOFIE::ROperator::fOutputTensorNames
mutableprotectedinherited

Definition at line 51 of file ROperator.hxx.

◆ fShapeA

template<typename T, EBasicBinaryOperator Op>
std::vector<size_t> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fShapeA
private

Definition at line 76 of file ROperator_BasicBinary.hxx.

◆ fShapeB

template<typename T, EBasicBinaryOperator Op>
std::vector<size_t> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fShapeB
private

Definition at line 77 of file ROperator_BasicBinary.hxx.

◆ fShapeY

template<typename T, EBasicBinaryOperator Op>
std::vector<size_t> TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >::fShapeY
private

Definition at line 78 of file ROperator_BasicBinary.hxx.

◆ fUseSession

bool TMVA::Experimental::SOFIE::ROperator::fUseSession = false
protectedinherited

flag to identify if using the session class

Definition at line 46 of file ROperator.hxx.

◆ SP

const std::string TMVA::Experimental::SOFIE::ROperator::SP = " "
protectedinherited

space used to correctly indent the generated C++ code

Definition at line 45 of file ROperator.hxx.


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