Skip to content

File expression_api.hpp

File List > backends > cxx > include > zmbt > model > expression_api.hpp

Go to the documentation of this file

#ifndef ZMBT_MODEL_EXPRESSION_API_HPP_
#define ZMBT_MODEL_EXPRESSION_API_HPP_

#include "expression_api_signatures.hpp"

namespace zmbt {
namespace expr {


extern dsl::SignatureConst<::zmbt::dsl::Keyword::Noop> const Noop;
extern dsl::SignatureConst<::zmbt::dsl::Keyword::Noop> const _;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::Null> const Null;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::True> const True;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::False> const False;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::Pi> const Pi;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::E> const E;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::Inf> const Inf;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::Eps> const Eps;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::NaN> const NaN;

extern dsl::SignatureConst<::zmbt::dsl::Keyword::Thread> const Thread;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Sin> const Sin;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Cos> const Cos;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Tan> const Tan;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Asin> const Asin;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Acos> const Acos;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Atan> const Atan;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Sinh> const Sinh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Cosh> const Cosh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Tanh> const Tanh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Asinh> const Asinh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Acosh> const Acosh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Atanh> const Atanh;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Exp> const Exp;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Erf> const Erf;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Erfc> const Erfc;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Gamma> const Gamma;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Abs> const Abs;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Ceil> const Ceil;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Floor> const Floor;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Round> const Round;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Sqrt> const Sqrt;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Sign> const Sign;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Neg> const Neg;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Add> const Add;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Sub> const Sub;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Mul> const Mul;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Div> const Div;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Pow> const Pow;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Log> const Log;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Mod> const Mod;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Quot> const Quot;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::BitNot> const BitNot;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::BitAnd> const BitAnd;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::BitOr> const BitOr;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::BitXor> const BitXor;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::BitLshift> const BitLshift;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::BitRshift> const BitRshift;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Eq> const Eq;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Ne> const Ne;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Lt> const Lt;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Le> const Le;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Gt> const Gt;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Ge> const Ge;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx> const Approx;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Approx> const Near;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Union> const Union;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Intersect> const Intersect;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Diff> const Diff;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::SetEq> const SetEq;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Subset> const Subset;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Superset> const Superset;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSubset> const ProperSubset;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::ProperSuperset> const ProperSuperset;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::In> const In;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::NotIn> const NotIn;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni> const Ni;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Ni> const Contains;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::NotNi> const NotNi;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Bool> const Bool;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Nil> const Nil;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Not> const Not;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::And> const And;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Or> const Or;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Id> const Id;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Transp> const Transp;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Cartesian> const Cartesian;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Reverse> const Reverse;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Uniques> const Uniques;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Items> const Items;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Keys> const Keys;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Values> const Values;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Enumerate> const Enumerate;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Flatten> const Flatten;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::ToList> const ToList;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Arange> const Arange;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Parse> const Parse;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize> const Serialize;
extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Serialize> const Str;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Re> const Re;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Re> const Regex;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format> const Format;
extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Format> const Fmt;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Card> const Card;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Size> const Size;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Sum> const Sum;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Prod> const Prod;

extern dsl::SignatureUnary<::zmbt::dsl::Keyword::Avg> const Avg;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Slide> const Slide;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Stride> const Stride;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Chunks> const Chunks;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Repeat> const Repeat;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Concat> const Concat;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Push> const Push;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::At> const At;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Lookup> const Lookup;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::C> const C;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::C> const Let;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce> const Reduce;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Reduce> const Fold;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Map> const Map;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Filter> const Filter;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Count> const Count;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Each> const Each;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Sort> const Sort;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Min> const Min;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Max> const Max;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmin> const Argmin;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Argmax> const Argmax;

extern dsl::SignatureTernary<::zmbt::dsl::Keyword::Apply> const Apply;

extern dsl::SignatureTernary<::zmbt::dsl::Keyword::Recur> const Recur;

extern dsl::SignatureTernary<::zmbt::dsl::Keyword::Unfold> const Unfold;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Bind> const Bind;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Any> const Any;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::All> const All;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Saturate> const Saturate;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Compose> const Compose;

extern dsl::SignatureVariadic<::zmbt::dsl::Keyword::Pack> const Pack;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Flip> const Flip;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Default> const Default;
extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Default> const D;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::Try> const Try;

extern dsl::SignatureBinary<::zmbt::dsl::Keyword::TryCatch> const TryCatch;

} // namespace expr
} // namespace zmbt

#endif // ZMBT_MAPPING_EXPRESSION_HPP_