Optimized Belief Propagation (CPU and GPU)
InputSignature Class Reference

Class defines input signature for evaluation run that contains evaluation set number, data type, and whether or not to use templated loop iteration count. More...

#include <InputSignature.h>

Public Member Functions

 InputSignature (const std::array< std::string_view, 3 > &in_sig_strings)
 Constructor to generate evaluation input signature from string array with strings corresponding to each part. More...
 
 InputSignature (std::optional< unsigned int > data_type_size, std::optional< unsigned int > eval_set_num, std::optional< bool > use_templated_loop_iters)
 Constructor to generate evaluation input signature from parameters corresponding to each part. More...
 
bool operator< (const InputSignature &rhs) const
 Less than operator for comparing evaluation input signatures so they can be ordered
Operator needed to support ordering since input signature is used as std::map key and also for evaluation output order
If any InputSignature member is "no value" that property is considered "any" and is ignored in the comparison. More...
 
bool operator== (const InputSignature &rhs) const
 Equality operator for comparing evaluation input signatures. More...
 
bool EqualsUsingAny (const InputSignature &rhs) const
 Alternate "equal" operator where an attribute is considered "equal" in cases where one side is "ANY" for the attribute as indicated by "no value" for std::optional object. More...
 
std::string DataTypeStr () const
 
std::string EvalSetNumStr () const
 
unsigned int EvalSetNum () const
 
std::string UseTemplatedLoopItersStr () const
 
void RemoveTemplatedLoopIterSetting ()
 Remove templated loop iter setting and change it to "any". More...
 
void RemoveDatatypeSetting ()
 Remove data type setting and change it to "any". More...
 
std::optional< bool > TemplatedLoopIters () const
 

Friends

std::ostream & operator<< (std::ostream &os, const InputSignature &eval_input_sig)
 Overloaded << operator to write InputSignature object to stream. More...
 

Detailed Description

Class defines input signature for evaluation run that contains evaluation set number, data type, and whether or not to use templated loop iteration count.

Definition at line 44 of file InputSignature.h.

Constructor & Destructor Documentation

◆ InputSignature() [1/2]

InputSignature::InputSignature ( const std::array< std::string_view, 3 > &  in_sig_strings)
explicit

Constructor to generate evaluation input signature from string array with strings corresponding to each part.

Parameters
in_sig_strings

Definition at line 34 of file InputSignature.cpp.

◆ InputSignature() [2/2]

InputSignature::InputSignature ( std::optional< unsigned int >  data_type_size,
std::optional< unsigned int >  eval_set_num,
std::optional< bool >  use_templated_loop_iters 
)
explicit

Constructor to generate evaluation input signature from parameters corresponding to each part.

Parameters
data_type_size
eval_set_num
use_templated_loop_iters

Definition at line 53 of file InputSignature.cpp.

Member Function Documentation

◆ DataTypeStr()

std::string InputSignature::DataTypeStr ( ) const
inline

Definition at line 102 of file InputSignature.h.

◆ EqualsUsingAny()

bool InputSignature::EqualsUsingAny ( const InputSignature rhs) const

Alternate "equal" operator where an attribute is considered "equal" in cases where one side is "ANY" for the attribute as indicated by "no value" for std::optional object.

Parameters
rhs
Returns
true if current input signature is same as rhs input signature where an attribute is considered "equal" in cases where one side is "ANY" for the attribute

Definition at line 107 of file InputSignature.cpp.

◆ EvalSetNum()

unsigned int InputSignature::EvalSetNum ( ) const
inline

Definition at line 127 of file InputSignature.h.

◆ EvalSetNumStr()

std::string InputSignature::EvalSetNumStr ( ) const
inline

Definition at line 118 of file InputSignature.h.

◆ operator<()

bool InputSignature::operator< ( const InputSignature rhs) const

Less than operator for comparing evaluation input signatures so they can be ordered
Operator needed to support ordering since input signature is used as std::map key and also for evaluation output order
If any InputSignature member is "no value" that property is considered "any" and is ignored in the comparison.

Parameters
rhs
Returns
true if current input signature is less than rhs input signature, false otherwise

Definition at line 67 of file InputSignature.cpp.

◆ operator==()

bool InputSignature::operator== ( const InputSignature rhs) const

Equality operator for comparing evaluation input signatures.

Parameters
rhs
Returns
true if current input signature is same as rhs input signature, false otherwise

Definition at line 99 of file InputSignature.cpp.

◆ RemoveDatatypeSetting()

void InputSignature::RemoveDatatypeSetting ( )
inline

Remove data type setting and change it to "any".

Definition at line 155 of file InputSignature.h.

◆ RemoveTemplatedLoopIterSetting()

void InputSignature::RemoveTemplatedLoopIterSetting ( )
inline

Remove templated loop iter setting and change it to "any".

Definition at line 148 of file InputSignature.h.

◆ TemplatedLoopIters()

std::optional<bool> InputSignature::TemplatedLoopIters ( ) const
inline

Definition at line 159 of file InputSignature.h.

◆ UseTemplatedLoopItersStr()

std::string InputSignature::UseTemplatedLoopItersStr ( ) const
inline

Definition at line 136 of file InputSignature.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const InputSignature eval_input_sig 
)
friend

Overloaded << operator to write InputSignature object to stream.

Parameters
os
eval_input_sig
Returns
Output stream with InputSignature object written to it

Definition at line 181 of file InputSignature.h.


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