Compiler plug-in that provides mathematical functions.
All identifier and function names are defined case-insensitive and can not be abbreviated with the exception of remainder (shortenable up to remain) and random (shortenable up to rand).
Constants:
| Type | Name | Description |
| Float | PI | The ratio of a circle's circumference to its diameter. |
| Float | E | Euler's number. |
Functions:
| Return Type | Name | Signature | Description |
| Float | abs | Integer | Computes the absolute value of an integer number. |
| Float | abs | Float | Computes the absolute value of a floating point number. |
| Float | ceil | Float | Returns the nearest integer not less than the given value. |
| Float | floor | Float | Returns the nearest integer not greater than the given value. |
| Float | trunc | Float | Returns the nearest integer not greater in magnitude than the given value. |
| Float | round | Float | Returns the nearest integer, rounding away from zero in halfway cases. |
| Integer | rint | Float | Returns the nearest integer, rounding away from zero in halfway cases. |
| Float | max | Integer,Integer | Returns the greater of two integer numbers. |
| Float | max | Float, Float | Returns the greater of two floating point numbers. |
| Float | min | Integer,Integer | Returns the smaller of two integer numbers. |
| Float | min | Float, Float | Returns the smaller of two floating point numbers. |
| Float | remainder | Float,Float | Computes the remainder of the floating point division of the first argument by the second argument. |
| Float | random | Float | Returns a random number in the range [0.0 ... 1.0[. Note uses std::rand. No seeding is performed. Invoke std::srand before using this function for the first time, if numbers should change between different runs of the software. |
| Float | sin | Float | Computes sine. |
| Float | asin | Float | Computes cosine. |
| Float | cos | Float | Computes tangent. |
| Float | acos | Float | Computes arc sine. |
| Float | tan | Float | Computes arc cosine. |
| Float | atan | Float | Computes arc tangent. |
| Float | sinh | Float | Computes hyperbolic sine. |
| Float | asinh | Float | Computes hyperbolic cosine. |
| Float | cosh | Float | Computes hyperbolic tangent. |
| Float | acosh | Float | Computes inverse hyperbolic sine. |
| Float | tanh | Float | Computes inverse hyperbolic cosine. |
| Float | atanh | Float | Computes inverse hyperbolic tangent. |
| Float | exp | Float | Computes e raised to the given power. |
| Float | exp2 | Float | Computes 2.0 raised to the given power. |
| Float | exp10 | Float | Computes 10.0 raised to the given power. |
| Float | log | Float | Computes natural base (e) logarithm. |
| Float | log10 | Float | Computes common base (10) logarithm. |
| Float | log2 | Float | Computes base 2.0 logarithm. |
| Float | pow | Float, Float | Raises a given number to the given power. |
| Float | pow10 | Float | Raises 10 to the given power. |
| Float | sqrt | Float | Computes square root of a given number. |
| Float | cbrt | Float | Computes cubic root of a given number. |
Definition at line 66 of file math.inl.
|
| ALIB_DLL | Math (Compiler &compiler) |
| |
| virtual | ~Math () override |
| | Virtual destructor.
|
| |
| | Calculus (const NString &name, Compiler &compiler, CompilePriorities pPriority) |
| |
| virtual | ~Calculus () override |
| | Virtual destructor.
|
| |
| ALIB_DLL void | AddBinaryOpOptimizations (BinaryOpOptimizationsTableEntry *table, size_t length) |
| |
| template<size_t TCapacity> |
| void | AddBinaryOpOptimizations (BinaryOpOptimizationsTableEntry(&table)[TCapacity]) |
| |
| void | AddOperator (const String &op, Type lhsType, Type rhsType, CallbackDecl callback, const char *dbgCallbackName, Type resultType, CTInvokable cti) |
| |
| void | AddOperatorAlias (const String &alias, Type lhsType, Type rhsType, const String &op) |
| |
| void | AddOperatorAliases (OperatorAliasTableEntry *table, size_t length) |
| |
| template<size_t TCapacity> |
| void | AddOperatorAliases (OperatorAliasTableEntry(&table)[TCapacity]) |
| |
| ALIB_DLL void | AddOperators (OperatorTableEntry *table, size_t length) |
| |
| template<size_t TCapacity> |
| void | AddOperators (OperatorTableEntry(&table)[TCapacity]) |
| |
| virtual ALIB_DLL bool | TryCompilation (CIAutoCast &autoCast) override |
| |
| virtual ALIB_DLL bool | TryCompilation (CIBinaryOp &ciBinaryOp) override |
| |
| virtual ALIB_DLL bool | TryCompilation (CIFunction &ciFunction) override |
| |
| virtual ALIB_DLL bool | TryCompilation (CIUnaryOp &ciUnaryOp) override |
| |
| | CompilerPlugin (const NString &name, Compiler &compiler, CompilePriorities pPriority) |
| |
| virtual | ~CompilerPlugin () |
| | Virtual destructor.
|
| |
| PrioritiesType | GetPriority () const |
| |
|
| using | BinaryOpOptimizationsTableEntry = const std::tuple<String, lang::Side, Type, const Box&, const Box&> |
| |
| using | CTInvokable = bool |
| |
| using | OperatorAliasTableEntry = const std::tuple<String, Type, Type, String> |
| |
| using | OperatorTableEntry |
| |
| using | PluginType |
| | This exposes the template parameter TPlugin to the outer world.
|
| |
| using | PrioritiesType |
| | This exposes the template parameter pTPlugin to the outer world.
|
| |
| static constexpr CTInvokable | CTI = true |
| |
| static constexpr CTInvokable | ETI = false |
| |
| MonoAllocator | allocator |
| |
| std::vector< AutoCastEntry > | AutoCasts |
| | List of auto-casts to be compiled by this plug-in.
|
| |
| HashMap< MonoAllocator, BinOpOptKey, Box, BinOpOptKey::Hash, BinOpOptKey::EqualTo > | BinaryOperatorOptimizations |
| |
| std::vector< ConstantIdentifierEntry > | ConstantIdentifiers |
| | List of identifiers that return constant values to be compiled by this plug-in.
|
| |
| std::vector< FunctionEntry > | Functions |
| | List of functions to be compiled by this plug-in.
|
| |
| HashMap< MonoAllocator, OperatorKey, String, OperatorKey::Hash, OperatorKey::EqualTo > | OperatorAliases |
| |
| HashMap< MonoAllocator, OperatorKey, std::tuple< CallbackDecl, Box, CTInvokable ALIB_DBG(, const char *) >, OperatorKey::Hash, OperatorKey::EqualTo > | Operators |
| |
| Compiler & | Cmplr |
| | The compiler that this plug-in is attached to.
|
| |
| const NString | Name |
| |
| PrioritiesType | priority |
| | The priority of this plug-in.
|
| |
| | Plugin (PrioritiesType pPriority) |
| |