Program Listing for File constants.h¶
↰ Return to documentation for file (symengine/symengine/constants.h
)
#ifndef SYMENGINE_CONSTANTS_H
#define SYMENGINE_CONSTANTS_H
#include <symengine/integer.h>
#include <symengine/symbol.h>
#include <symengine/infinity.h>
#include <symengine/nan.h>
namespace SymEngine
{
class Constant : public Basic
{
private:
std::string name_;
public:
IMPLEMENT_TYPEID(SYMENGINE_CONSTANT)
Constant(const std::string &name);
virtual hash_t __hash__() const;
virtual bool __eq__(const Basic &o) const;
virtual int compare(const Basic &o) const;
inline std::string get_name() const
{
return name_;
}
virtual vec_basic get_args() const
{
return {};
}
};
inline RCP<const Constant> constant(const std::string &name)
{
return make_rcp<const Constant>(name);
}
// Constant Numbers
extern SYMENGINE_EXPORT RCP<const Integer> zero;
extern SYMENGINE_EXPORT RCP<const Integer> one;
extern SYMENGINE_EXPORT RCP<const Integer> minus_one;
extern SYMENGINE_EXPORT RCP<const Number> I;
// Symbolic Constants
extern SYMENGINE_EXPORT RCP<const Constant> pi;
extern SYMENGINE_EXPORT RCP<const Constant> E;
extern SYMENGINE_EXPORT RCP<const Constant> EulerGamma;
extern SYMENGINE_EXPORT RCP<const Constant> Catalan;
extern SYMENGINE_EXPORT RCP<const Constant> GoldenRatio;
// Infinity
extern SYMENGINE_EXPORT RCP<const Infty> Inf;
extern SYMENGINE_EXPORT RCP<const Infty> NegInf;
extern SYMENGINE_EXPORT RCP<const Infty> ComplexInf;
// Not a Number
extern SYMENGINE_EXPORT RCP<const NaN> Nan;
} // SymEngine
#endif