public:
virtual ~Function();
virtual int getNbInputParams() const = 0;
- virtual void operate(std::vector<Value *>& stack) const = 0;
+ virtual void operate(std::vector<Value *>& stck) const = 0;
virtual void operateX86(std::vector<std::string>& asmb) const = 0;
+ virtual void operateStackOfDouble(std::vector<double>& stck) const = 0;
+ virtual void operateStackOfDoubleSafe(std::vector<double>& stck) const { operateStackOfDouble(stck); }
virtual const char *getRepr() const = 0;
virtual bool isACall() const = 0;
+ virtual Function *deepCpy() const = 0;
};
class INTERPKERNEL_EXPORT UnaryFunction : public Function
{
public:
~IdentityFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ IdentityFunction *deepCpy() const { return new IdentityFunction; }
public:
static const char REPR[];
};
{
public:
~PositiveFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ PositiveFunction *deepCpy() const { return new PositiveFunction; }
public:
static const char REPR[];
};
{
public:
~NegateFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ NegateFunction *deepCpy() const { return new NegateFunction; }
public:
static const char REPR[];
};
{
public:
~CosFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ CosFunction *deepCpy() const { return new CosFunction; }
public:
static const char REPR[];
};
{
public:
~SinFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ SinFunction *deepCpy() const { return new SinFunction; }
public:
static const char REPR[];
};
{
public:
~TanFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ TanFunction *deepCpy() const { return new TanFunction; }
public:
static const char REPR[];
};
{
public:
~ACosFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ ACosFunction *deepCpy() const { return new ACosFunction; }
public:
static const char REPR[];
};
{
public:
~ASinFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ ASinFunction *deepCpy() const { return new ASinFunction; }
public:
static const char REPR[];
};
{
public:
~ATanFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ ATanFunction *deepCpy() const { return new ATanFunction; }
public:
static const char REPR[];
};
{
public:
~CoshFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ CoshFunction *deepCpy() const { return new CoshFunction; }
public:
static const char REPR[];
};
{
public:
~SinhFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ SinhFunction *deepCpy() const { return new SinhFunction; }
public:
static const char REPR[];
};
{
public:
~TanhFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ TanhFunction *deepCpy() const { return new TanhFunction; }
public:
static const char REPR[];
};
{
public:
~SqrtFunction();
- void operate(std::vector<Value *>& stack) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operate(std::vector<Value *>& stck) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ SqrtFunction *deepCpy() const { return new SqrtFunction; }
public:
static const char REPR[];
};
{
public:
~AbsFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ AbsFunction *deepCpy() const { return new AbsFunction; }
public:
static const char REPR[];
};
{
public:
~ExpFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ ExpFunction *deepCpy() const { return new ExpFunction; }
public:
static const char REPR[];
};
{
public:
~LnFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ LnFunction *deepCpy() const { return new LnFunction; }
public:
static const char REPR[];
};
{
public:
~LogFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ LogFunction *deepCpy() const { return new LogFunction; }
public:
static const char REPR[];
};
{
public:
~Log10Function();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ Log10Function *deepCpy() const { return new Log10Function; }
public:
static const char REPR[];
};
{
public:
~PlusFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ PlusFunction *deepCpy() const { return new PlusFunction; }
public:
static const char REPR[];
};
{
public:
~MinusFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ MinusFunction *deepCpy() const { return new MinusFunction; }
public:
static const char REPR[];
};
{
public:
~MultFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ MultFunction *deepCpy() const { return new MultFunction; }
public:
static const char REPR[];
};
{
public:
~DivFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ DivFunction *deepCpy() const { return new DivFunction; }
public:
static const char REPR[];
};
{
public:
~PowFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ PowFunction *deepCpy() const { return new PowFunction; }
public:
static const char REPR[];
};
{
public:
~MaxFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ MaxFunction *deepCpy() const { return new MaxFunction; }
public:
static const char REPR[];
};
{
public:
~MinFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ MinFunction *deepCpy() const { return new MinFunction; }
public:
static const char REPR[];
};
{
public:
~GreaterThanFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ GreaterThanFunction *deepCpy() const { return new GreaterThanFunction; }
public:
static const char REPR[];
};
{
public:
~LowerThanFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ LowerThanFunction *deepCpy() const { return new LowerThanFunction; }
public:
static const char REPR[];
};
{
public:
~IfFunction();
- void operate(std::vector<Value *>& stack) const;
+ void operate(std::vector<Value *>& stck) const;
void operateX86(std::vector<std::string>& asmb) const;
+ void operateStackOfDouble(std::vector<double>& stck) const;
+ void operateStackOfDoubleSafe(std::vector<double>& stck) const;
const char *getRepr() const;
bool isACall() const;
+ IfFunction *deepCpy() const { return new IfFunction; }
public:
static const char REPR[];
};