Skip to content

File api.hpp

File List > backends > cxx > include > zmbt > expr > api.hpp

Go to the documentation of this file

#ifndef ZMBT_EXPR_EXPRESSION_API_HPP_
#define ZMBT_EXPR_EXPRESSION_API_HPP_

#include "api_signatures.hpp"

namespace zmbt {
namespace expr {


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

extern lang::SignatureUnary<::zmbt::lang::Keyword::Bool> const Bool;
extern lang::SignatureUnary<::zmbt::lang::Keyword::Bool> const Truthy;

extern lang::SignatureUnary<::zmbt::lang::Keyword::Not> const Not;
extern lang::SignatureUnary<::zmbt::lang::Keyword::Not> const Falsy;
extern lang::SignatureUnary<::zmbt::lang::Keyword::Not> const Nil;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

extern lang::SignatureBinary<::zmbt::lang::Keyword::Concat> const Concat;
extern lang::SignatureBinary<::zmbt::lang::Keyword::Concat> const Cat;

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

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

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

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

extern lang::SignatureDecorate const Decorate;
extern lang::SignatureDecorate const Cast;

extern lang::SignatureUndecorate const Undecorate;
extern lang::SignatureUndecorate const Uncast;

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

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

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

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

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

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

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

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

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

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

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

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

extern lang::SignatureOverload const Overload;
extern lang::SignatureOverload const Op;

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

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

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

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

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

extern lang::SignatureVariadic<::zmbt::lang::Keyword::Fork> const Fork;

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

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

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

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

extern lang::SignatureError const Error;

} // namespace expr
} // namespace zmbt

#endif // ZMBT_MAPPING_EXPRESSION_HPP_