22 #ifndef ASTSHIM_MATHMAP_H 23 #define ASTSHIM_MATHMAP_H 377 :
Mapping(reinterpret_cast<AstMapping *>(astMathMap(nin, nout, fwd.size(), getCStrVec(fwd).
data(),
378 rev.size(), getCStrVec(rev).
data(),
"%s",
411 return copyImpl<MathMap, AstMathMap>();
415 explicit MathMap(AstMathMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
418 os <<
"this is a " <<
getClassName() <<
", which is not a MathMap";
427 for (
auto const &
str : strVec) {
AstObject const * getRawPtr() const
Get the raw AST pointer.
MathMap & operator=(MathMap const &)=delete
int getI(std::string const &attrib) const
Get the value of an attribute as an int.
AST wrapper classes and functions.
std::string getClassName() const
Get Class: the name of the class (e.g.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.
An abstract base class for objects which transform one set of coordinates to another.
MathMap(AstMathMap *rawptr)
Construct a MathMap from a raw AST pointer.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
std::shared_ptr< MathMap > copy() const
Return a deep copy of this object.
bool getB(std::string const &attrib) const
Get the value of an attribute as a bool.
bool getSimpFI() const
Get SimpFI: can forward-inverse MathMap pairs safely simplify?
bool getSimpIF() const
Get SimpIF: can inverse-forward MathMap pairs safely simplify?
T static_pointer_cast(T... args)
A MathMap is a Mapping which allows you to specify a set of forward and/or inverse transformation fun...
int getSeed() const
Get Seed: random number seed.
MathMap(int nin, int nout, std::vector< std::string > const &fwd, std::vector< std::string > const &rev, std::string const &options="")
Construct a Mathmap.
Abstract base class for all AST objects.