Horizon
Classes | Typedefs | Functions | Variables
Numerics

Numeric utilities. More...

Classes

struct  ranges::accumulate_fn
 
struct  ranges::adjacent_difference_fn
 
struct  ranges::inner_product_fn
 
struct  ranges::iota_fn
 
struct  ranges::partial_sum_fn
 

Typedefs

template<typename I , typename O >
using ranges::adjacent_difference_result = detail::in_out_result< I, O >
 
template<typename I , typename O >
using ranges::partial_sum_result = detail::in_out_result< I, O >
 

Functions

 ranges::template (typename I, typename O, typename BOp, typename P)(concept(differenceable_)(I
 \concept differenceable_ More...
 
 ranges::template (typename I1, typename I2, typename T, typename BOp1, typename BOp2, typename P1, typename P2)(concept(inner_product_constraints_)(I1
 \concept inner_product_constraints_ More...
 
 ranges::template (typename I, typename BOp)(concept(indirect_semigroup_)(I
 \concept indirect_semigroup_ More...
 
template<typename Gen >
 ranges::CPP_requires (uniform_random_bit_generator_, requires()(Gen::min(), Gen::max()))
 \concept uniform_random_bit_generator_ More...
 
 ranges::template (typename Gen)(concept(uniform_random_bit_generator_)(Gen)
 \concept uniform_random_bit_generator_ More...
 

Variables

 ranges::BOp
 
 ranges::P
 
invocable< P &, iter_value_t< I > > AND copy_constructible< uncvref_t< invoke_result_t< P &, iter_value_t< I > > > > AND movable< uncvref_t< invoke_result_t< P &, iter_value_t< I > > > > AND output_iterator< O, invoke_result_t< P &, iter_value_t< I > > > AND invocable< BOp &, invoke_result_t< P &, iter_value_t< I > >, invoke_result_t< P &, iter_value_t< I > > > AND ranges::output_iterator< O, invoke_result_t< BOp &, invoke_result_t< P &, iter_value_t< I > >, invoke_result_t< P &, iter_value_t< I > > > >
 
template<typename I , typename O , typename BOp = minus, typename P = identity>
CPP_concept ranges::differenceable
 \concept differenceable More...
 
 ranges::BOp1
 
 ranges::BOp2
 
invocable< P1 &, iter_value_t< I1 > > AND invocable< P2 &, iter_value_t< I2 > > AND invocable< BOp2 &, invoke_result_t< P1 &, iter_value_t< I1 > >, invoke_result_t< P2 &, iter_value_t< I2 > > > AND invocable< BOp1 &, T, invoke_result_t< BOp2 &, invoke_result_t< P1 &, iter_value_t< I1 > >, invoke_result_t< P2 &, iter_value_t< I2 > > > > AND ranges::assignable_from< T &, invoke_result_t< BOp1 &, T, invoke_result_t< BOp2 &, invoke_result_t< P1 &, iter_value_t< I1 > >, invoke_result_t< P2 &, iter_value_t< I2 > > > > >
 
template<typename I1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity>
CPP_concept ranges::inner_product_constraints
 \concept inner_product_constraints More...
 
copyable< iter_value_t< I > > AND ranges::indirectly_regular_binary_invocable_< composed< coerce< iter_value_t< I > >, BOp >, iter_value_t< I > *, I >
 
template<typename I , typename BOp >
CPP_concept ranges::indirect_semigroup
 \concept indirect_semigroup More...
 
template<typename I , typename O , typename BOp = plus, typename P = identity>
CPP_concept ranges::partial_sum_constraints
 \concept partial_sum_constraints More...
 
template<typename Gen >
CPP_concept ranges::uniform_random_bit_generator
 \concept uniform_random_bit_generator More...
 

Detailed Description

Numeric utilities.

Function Documentation

◆ CPP_requires()

template<typename Gen >
ranges::CPP_requires ( uniform_random_bit_generator_  ,
requires()(Gen::min(), Gen::max())   
)

\concept uniform_random_bit_generator_

The uniform_random_bit_generator_ concept

◆ template() [1/4]

ranges::template ( typename Gen  )

\concept uniform_random_bit_generator_

The uniform_random_bit_generator_ concept

◆ template() [2/4]

ranges::template ( typename I  ,
typename BOp   
)

\concept indirect_semigroup_

The indirect_semigroup_ concept

◆ template() [3/4]

ranges::template ( typename I  ,
typename O  ,
typename BOp  ,
typename P   
)

\concept differenceable_

\concept partial_sum_constraints_

The differenceable_ concept

The partial_sum_constraints_ concept

◆ template() [4/4]

ranges::template ( typename I1  ,
typename I2  ,
typename T  ,
typename BOp1  ,
typename BOp2  ,
typename P1  ,
typename P2   
)

\concept inner_product_constraints_

The inner_product_constraints_ concept

Variable Documentation

◆ differenceable

template<typename I , typename O , typename BOp = minus, typename P = identity>
CPP_concept ranges::differenceable
Initial value:
=
input_iterator<I> &&
CPP_concept_ref(ranges::differenceable_, I, O, BOp, P)

\concept differenceable

The differenceable concept

◆ indirect_semigroup

template<typename I , typename BOp >
CPP_concept ranges::indirect_semigroup
Initial value:
=
indirectly_readable<I> &&
CPP_concept_ref(ranges::indirect_semigroup_, I, BOp)

\concept indirect_semigroup

The indirect_semigroup concept

◆ inner_product_constraints

template<typename I1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity>
CPP_concept ranges::inner_product_constraints
Initial value:
=
input_iterator<I1> &&
input_iterator<I2> &&
CPP_concept_ref(ranges::inner_product_constraints_, I1, I2, T, BOp1, BOp2, P1, P2)

\concept inner_product_constraints

The inner_product_constraints concept

◆ partial_sum_constraints

template<typename I , typename O , typename BOp = plus, typename P = identity>
CPP_concept ranges::partial_sum_constraints
Initial value:
=
input_iterator<I> &&
CPP_concept_ref(ranges::partial_sum_constraints_, I, O, BOp, P)

\concept partial_sum_constraints

The partial_sum_constraints concept

◆ uniform_random_bit_generator

template<typename Gen >
CPP_concept ranges::uniform_random_bit_generator
Initial value:
=
invocable<Gen &> &&
CPP_requires_ref(ranges::uniform_random_bit_generator_, Gen) &&
CPP_concept_ref(ranges::uniform_random_bit_generator_, Gen)

\concept uniform_random_bit_generator

The uniform_random_bit_generator concept