OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
Expressions::ATable Class Reference

An array expression generated from a TABLE() function. More...

#include <ATable.h>

Inheritance diagram for Expressions::ATable:
Inheritance graph
Collaboration diagram for Expressions::ATable:
Collaboration graph

Public Member Functions

 ATable (int n1, int n2, int n3)
 Constructor.
 
 ATable (const ATable &)
 
 ~ATable ()
 
virtual OArray< double > * clone () const
 Make clone.
 
void defineExpression (PtrToScalar< double >)
 Store the generating expression.
 
virtual std::vector< double > evaluate () const
 Evaluate.
 
double getHash () const
 Return the current value of '#'.
 
virtual void print (std::ostream &os, int precedence=99) const
 Print expression.
 
virtual bool isConstant () const
 Test for constant.
 

Private Member Functions

 ATable ()
 
const ATableoperator= (const ATable &)
 

Private Attributes

PtrToScalar< double > itsExpr
 
int itsBegin
 
int itsEnd
 
int itsStep
 
int itsHash
 

Detailed Description

An array expression generated from a TABLE() function.

Definition at line 37 of file ATable.h.

Constructor & Destructor Documentation

◆ ATable() [1/3]

Expressions::ATable::ATable ( int  n1,
int  n2,
int  n3 
)

Constructor.

Definition at line 35 of file ATable.cpp.

◆ ATable() [2/3]

Expressions::ATable::ATable ( const ATable rhs)

Definition at line 28 of file ATable.cpp.

◆ ~ATable()

Expressions::ATable::~ATable ( )

Definition at line 38 of file ATable.cpp.

◆ ATable() [3/3]

Expressions::ATable::ATable ( )
private

Referenced by clone().

Member Function Documentation

◆ clone()

OArray< double > * Expressions::ATable::clone ( ) const
virtual

Make clone.

Implements Expressions::OArray< double >.

Definition at line 40 of file ATable.cpp.

References ATable().

Here is the call graph for this function:

◆ defineExpression()

void Expressions::ATable::defineExpression ( PtrToScalar< double >  expr)

Store the generating expression.

Definition at line 42 of file ATable.cpp.

References itsExpr.

◆ evaluate()

std::vector< double > Expressions::ATable::evaluate ( ) const
virtual

Evaluate.

Implements Expressions::OArray< double >.

Definition at line 44 of file ATable.cpp.

References Expressions::Scalar< T >::evaluate(), itsBegin, itsEnd, itsExpr, itsHash, and itsStep.

Here is the call graph for this function:

◆ getHash()

double Expressions::ATable::getHash ( ) const

Return the current value of '#'.

Definition at line 54 of file ATable.cpp.

References itsHash.

Referenced by Expressions::SHash::clone(), and Expressions::SHash::evaluate().

◆ isConstant()

bool Expressions::OArray< double >::isConstant ( ) const
inlinevirtualinherited

Test for constant.

Definition at line 165 of file AbstractObjects/Expressions.h.

◆ operator=()

const ATable & Expressions::ATable::operator= ( const ATable )
private

◆ print()

void Expressions::ATable::print ( std::ostream &  os,
int  precedence = 99 
) const
virtual

Print expression.

Implements Expressions::OArray< double >.

Definition at line 56 of file ATable.cpp.

References itsBegin, itsEnd, itsExpr, itsStep, and Expressions::Scalar< T >::print().

Here is the call graph for this function:

Member Data Documentation

◆ itsBegin

int Expressions::ATable::itsBegin
private

Definition at line 72 of file ATable.h.

Referenced by evaluate(), and print().

◆ itsEnd

int Expressions::ATable::itsEnd
private

Definition at line 72 of file ATable.h.

Referenced by evaluate(), and print().

◆ itsExpr

PtrToScalar<double> Expressions::ATable::itsExpr
private

Definition at line 69 of file ATable.h.

Referenced by defineExpression(), evaluate(), and print().

◆ itsHash

int Expressions::ATable::itsHash
mutableprivate

Definition at line 75 of file ATable.h.

Referenced by evaluate(), and getHash().

◆ itsStep

int Expressions::ATable::itsStep
private

Definition at line 72 of file ATable.h.

Referenced by evaluate(), and print().


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