static bool isPow(Func1& f) { if (f.ID() == PowFuncType) { return true; } else { return false; } }
static bool isTimesConst(Func1& f) { if (f.ID() == TimesConstantFuncType) { return true; } else { return false; } }
static bool isExp(Func1& f) { if (f.ID() == ExpFuncType) { return true; } else { return false; } }
static bool isOne(Func1& f) { if (f.ID() == ConstFuncType && f.c() == 1.0) { return true; } else { return false; } }
bool Func1::isIdentical(Func1& other) const { if ((ID() != other.ID()) || (m_c != other.m_c)) { return false; } if (m_f1) { if (!other.m_f1) { return false; } if (!m_f1->isIdentical(*other.m_f1)) { return false; } } if (m_f2) { if (!other.m_f2) { return false; } if (!m_f2->isIdentical(*other.m_f2)) { return false; } } return true; }