plll  1.0
arithmetic-expressions.hpp File Reference

Main header for arithmetic expressions. More...

Go to the source code of this file.

Classes

class  plll::arithmetic::expressions::AbsOp< Context, Data >
 Returns the absolute value of the operand. More...
 
class  plll::arithmetic::expressions::AbsOp_Context< Context, Data >
 Returns the absolute value of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ACosOp< Context, Data >
 Returns the arcus cosine of the operand. More...
 
class  plll::arithmetic::expressions::ACosOp_Context< Context, Data >
 Returns the arcus cosine of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::AddOp< Context, Data >
 Returns the sum of the operands. More...
 
class  plll::arithmetic::expressions::AndOp< Context, Data >
 Returns the bitwise AND of the operands. More...
 
class  plll::arithmetic::expressions::ASinOp< Context, Data >
 Returns the arcus sine of the operand. More...
 
class  plll::arithmetic::expressions::ASinOp_Context< Context, Data >
 Returns the arcus sine of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ATan2Op< Context, Data >
 Returns the arcus tangent of the quotient of the operands. More...
 
class  plll::arithmetic::expressions::ATan2Op_Context< Context, Data >
 Returns the arcus tangent of the quotient of the operands. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ATanOp< Context, Data >
 Returns the arcus tangent of the operand. More...
 
class  plll::arithmetic::expressions::ATanOp_Context< Context, Data >
 Returns the arcus tangent of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::BitInvOp< Context, Data >
 Returns the bitwise inversion of the operands. More...
 
class  plll::arithmetic::expressions::CeilDivOp< Context, Data >
 Returns the ceil of the quotient of the two operands. More...
 
class  plll::arithmetic::implementation::conversion_impl< expressions::Expression< SourceContext, Data, Op >, Dest >
 Implements a conversion from an expression to a destination context. More...
 
class  plll::arithmetic::expressions::ConversionWrapper< Type >
 Wraps a native type for a conversion. More...
 
class  plll::arithmetic::expressions::ConvertCeilOp_Context< Context, Data >
 Converts the argument to the destination type by rounding up (ceil). Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ConvertFloorOp_Context< Context, Data >
 Converts the argument to the destination type by rounding down (floor). Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ConvertOp_Context< Context, Data >
 Converts the argument to the destination type. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ConvertRound2Op_Context< Context, Data >
 Converts the argument to the destination type by rounding. Uses the context stored in the operator and stores the rounding direction in the provided bool reference. More...
 
class  plll::arithmetic::expressions::ConvertRoundOp_Context< Context, Data >
 Converts the argument to the destination type by rounding. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::CosOp< Context, Data >
 Returns the cosine of the operand. More...
 
class  plll::arithmetic::expressions::CosOp_Context< Context, Data >
 Returns the cosine of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::DivOp< Context, Data >
 Returns the quotient of the operands. More...
 
class  plll::arithmetic::expressions::ExpOp< Context, Data >
 Returns the exponential of the operand. More...
 
class  plll::arithmetic::expressions::ExpOp_Context< Context, Data >
 Returns the exponential of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::Expression< Context_, Data, Op >
 Represents an expression. More...
 
class  plll::arithmetic::expressions::FloorDivOp< Context, Data >
 Returns the floor of the quotient of the two operands. More...
 
class  plll::arithmetic::expressions::GammaOp< Context, Data >
 Returns the Gamma function evaluated of the operand. More...
 
class  plll::arithmetic::expressions::GammaOp_Context< Context, Data >
 Returns the Gamma function evaluated of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::GCDOp< Context, Data >
 Returns the GCD of the two operands. More...
 
class  plll::arithmetic::expressions::PowerCOp_Context< Type >::impl< Context, Data >
 Implementation of raising to a power by a constant exponent. More...
 
class  plll::arithmetic::expressions::PowerCOp< Type >::impl< Context, Data >
 Implementation of raising to a power by a constant exponent. More...
 
class  plll::arithmetic::expressions::LCMOp< Context, Data >
 Returns the LCM of the two operands. More...
 
class  plll::arithmetic::expressions::LGamma2Op< Context, Data >
 Returns the logarithm of the absolute value of the Gamma function evaluated of the operand together with the sign of the Gamma function. More...
 
class  plll::arithmetic::expressions::LGamma2Op_Context< Context, Data >
 Returns the logarithm of the absolute value of the Gamma function evaluated of the operand together with the sign of the Gamma function. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::LGammaOp< Context, Data >
 Returns the logarithm of the absolute value of the Gamma function evaluated of the operand. More...
 
class  plll::arithmetic::expressions::LGammaOp_Context< Context, Data >
 Returns the logarithm of the absolute value of the Gamma function evaluated of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::Log10Op< Context, Data >
 Returns the logarithm to base 10 of the operand. More...
 
class  plll::arithmetic::expressions::Log10Op_Context< Context, Data >
 Returns the logarithm to base 10 of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::Log2Op< Context, Data >
 Returns the logarithm to base 2 of the operand. More...
 
class  plll::arithmetic::expressions::Log2Op_Context< Context, Data >
 Returns the logarithm to base 2 of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::LogOp< Context, Data >
 Returns the natural logarithm of the operand. More...
 
class  plll::arithmetic::expressions::LogOp_Context< Context, Data >
 Returns the natural logarithm of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::ModOp< Context, Data >
 Returns the remainder of the operands. More...
 
class  plll::arithmetic::expressions::MulOp< Context, Data >
 Returns the product of the operands. More...
 
class  plll::arithmetic::implementation::nativeconversion_impl< expressions::Expression< SourceContext, Data, Op > >
 Implements native conversions from an expression. More...
 
class  plll::arithmetic::expressions::NegOp< Context, Data >
 Returns the negative of the operand. More...
 
struct  plll::arithmetic::expressions::NoData
 A simple "no data" indicator. More...
 
class  plll::arithmetic::expressions::NoneOp< Context, Data >
 Simply provides the data without any modifications. More...
 
class  plll::arithmetic::expressions::OrOp< Context, Data >
 Returns the bitwise OR of the operands. More...
 
struct  plll::arithmetic::expressions::PowerCOp< Type >
 Returns the power of the operand to a constant stored in the operator object. More...
 
struct  plll::arithmetic::expressions::PowerCOp_Context< Type >
 Returns the power of the operand to a constant stored in the operator object. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::PowerOp< Context, Data >
 Returns the power of the first operand to the second operand. More...
 
class  plll::arithmetic::expressions::PowerOp_Context< Context, Data >
 Returns the power of the first operand to the second operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::RoundDivOp< Context, Data >
 Returns the rounded quotient of the two operands. More...
 
class  plll::arithmetic::expressions::ShiftCOp< Context, Data >
 Returns the operand multiplied by 2 to the power of a constant. More...
 
class  plll::arithmetic::expressions::ShLOp< Context, Data >
 Returns the first operand multiplied by 2 to the power of the second operand. More...
 
class  plll::arithmetic::expressions::ShROp< Context, Data >
 Returns the first operand divided by 2 to the power of the second operand. More...
 
class  plll::arithmetic::expressions::SinOp< Context, Data >
 Returns the sine of the operand. More...
 
class  plll::arithmetic::expressions::SinOp_Context< Context, Data >
 Returns the sine of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::SqrtCeilOp< Context, Data >
 Returns the ceil of the square root of the operand. More...
 
class  plll::arithmetic::expressions::SqrtFloorOp< Context, Data >
 Returns the floor of the square root of the operand. More...
 
class  plll::arithmetic::expressions::SqrtOp< Context, Data >
 Returns the square root of the operand. More...
 
class  plll::arithmetic::expressions::SqrtOp_Context< Context, Data >
 Returns the square root of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::SquareOp< Context, Data >
 Returns the square of the operand. More...
 
class  plll::arithmetic::expressions::SquareOp_Context< Context, Data >
 Returns the square of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::SubOp< Context, Data >
 Returns the difference of the operands. More...
 
class  plll::arithmetic::expressions::TanOp< Context, Data >
 Returns the tangent of the operand. More...
 
class  plll::arithmetic::expressions::TanOp_Context< Context, Data >
 Returns the tangent of the operand. Uses the context stored in the operator. More...
 
class  plll::arithmetic::expressions::Wrapper< Context_ >
 Wraps a variable to behave similarly to an Expression<> object. More...
 
class  plll::arithmetic::expressions::XOROp< Context, Data >
 Returns the bitwise XOR (exclusive or) of the operands. More...
 

Namespaces

 plll
 Contains the plll library.
 
 plll::arithmetic
 Contains the arithmetic backend of plll.
 
 plll::arithmetic::expressions
 Expression templates.
 

Functions

template<typename Context , class Data , class Op >
void plll::arithmetic::expressions::do_assign (typename Context::Type &x, const Op &op, const Data &data)
 Performs the assignment of the expression to x. More...
 
template<typename Context >
Expression< Context, Wrapper
< Context >, NoneOp > 
plll::arithmetic::expressions::make_expression (const typename Context::Type &a)
 Creates an expression from a type.
 

Detailed Description

Main header for arithmetic expressions.

This header provides expression templates for arbitrary precision integers, floating point numbers, for rational numbers and for conversions.

Definition in file arithmetic-expressions.hpp.