Data Structures

viennamath::result_of::detail Namespace Reference

Implementation details for the metafunctions in ViennaMath. Not intended for direct use. More...

Data Structures

struct  has_factor
struct  has_factor< FactorType, FactorType >
struct  has_factor< FactorType, ct_binary_expr< LHS, op_plus< NumericT >, RHS > >
struct  has_factor< FactorType, ct_binary_expr< LHS, op_minus< NumericT >, RHS > >
struct  has_factor< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, RHS > >
struct  has_factor< FactorType, ct_binary_expr< LHS, op_div< NumericT >, RHS > >
struct  extract_factor_from_product
struct  extract_factor_from_product< FactorType, LHS, NumericT, RHS, true, false >
struct  extract_factor_from_product< FactorType, LHS, NumericT, RHS, false, true >
struct  extract_factor_from_product< FactorType, LHS, NumericT, RHS, true, true >
struct  coefficient_impl
struct  coefficient_impl< FactorType, FactorType >
struct  coefficient_impl< FactorType, ct_binary_expr< LHS, op_plus< NumericT >, RHS > >
struct  coefficient_impl< FactorType, ct_binary_expr< LHS, op_minus< NumericT >, RHS > >
struct  coefficient_impl< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, RHS > >
struct  coefficient_impl< FactorType, ct_binary_expr< FactorType, op_mult< NumericT >, RHS > >
struct  coefficient_impl< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, FactorType > >
struct  coefficient_impl< FactorType, ct_binary_expr< FactorType, op_mult< NumericT >, FactorType > >
struct  coefficient_impl< FactorType, ct_binary_expr< LHS, op_div< NumericT >, RHS > >
struct  has_plus_or_minus
struct  has_plus_or_minus< ct_binary_expr< LHS, op_plus< NumericT >, RHS > >
struct  has_plus_or_minus< ct_binary_expr< LHS, op_minus< NumericT >, RHS > >
struct  has_plus_or_minus< ct_binary_expr< LHS, op_mult< NumericT >, RHS > >
struct  has_plus_or_minus< ct_binary_expr< LHS, op_div< NumericT >, RHS > >
struct  expand_with_factor
struct  expand_with_factor< ct_binary_expr< LHS, op_plus< NumericT >, RHS >, FactorType, true >
struct  expand_with_factor< ct_binary_expr< LHS, op_minus< NumericT >, RHS >, FactorType, true >
struct  expand_with_factor< ct_binary_expr< LHS, op_mult< NumericT >, RHS >, FactorType, true >
struct  expand_with_factor< ct_binary_expr< LHS, op_div< NumericT >, RHS >, FactorType, true >
struct  expand_product
struct  expand_product< LHS, RHS, true, false >
struct  expand_product< LHS, RHS, false, true >
struct  expand_product< LHS, RHS, true, true >
struct  integrate_impl
 The worker metafunction for compile time integration. Each specialization represents an integration rule. More...
struct  integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_plus< NumericT >, RHS >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_minus< NumericT >, RHS >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_mult< NumericT >, RHS >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_div< NumericT >, RHS >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_unary_expr< LHS, OP >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_constant< value >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_function_symbol< TAG >, VariableType >
struct  integrate_impl< LowerBound, UpperBound, ct_variable< id >, VariableType >
struct  simplify_impl
struct  simplify_impl< ct_binary_expr< LHS, OP, RHS > >
struct  simplify_impl< ct_binary_expr< LHS, op_plus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, RHS > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< LHS, op_minus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< LHS1, op_plus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > >
struct  simplify_impl< ct_binary_expr< LHS1, op_minus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_plus< NumericT >, RHS2 > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_minus< NumericT >, RHS2 > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_plus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_minus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > >
struct  simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, RHS > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, RHS > >
struct  simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, RHS > >
struct  simplify_impl< ct_binary_expr< LHS, op_div< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< LHS, op_div< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS1 >, op_mult< NumericT >, RHS2 > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS1 >, op_mult< NumericT >, ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_plus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_plus< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_minus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_mult< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_mult< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_div< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > >
struct  simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_div< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_minus< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 1 >, op_minus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant<-1 >, op_minus< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< 0 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< value_2 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant< 1 > > >
struct  simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant<-1 > > >

Detailed Description

Implementation details for the metafunctions in ViennaMath. Not intended for direct use.