11namespace kwek_mehlhorn {
13template<
typename IntegerType>
14std::pair<IntegerType, IntegerType>
findRational(IntegerType
const& alpha, IntegerType
const& beta, IntegerType
const& gamma, IntegerType
const& delta);
16template<
typename RationalType,
typename ImpreciseType>
17std::pair<typename NumberTraits<RationalType>::IntegerType,
typename NumberTraits<RationalType>::IntegerType>
truncateToRational(ImpreciseType
const& value,
20template<
typename RationalType>
21std::pair<typename NumberTraits<RationalType>::IntegerType,
typename NumberTraits<RationalType>::IntegerType>
truncateToRational(
double const& value,
24template<
typename RationalType,
typename ImpreciseType>
25RationalType
findRational(uint64_t precision, ImpreciseType
const& value);
27template<
typename RationalType,
typename ImpreciseType>
28RationalType
sharpen(uint64_t precision, ImpreciseType
const& value);
30template<
typename RationalType,
typename ImpreciseType>
31void sharpen(uint64_t precision, std::vector<ImpreciseType>
const& input, std::vector<RationalType>& output);
std::pair< typename NumberTraits< RationalType >::IntegerType, typename NumberTraits< RationalType >::IntegerType > truncateToRational(ImpreciseType const &value, uint64_t precision)
std::pair< IntegerType, IntegerType > findRational(IntegerType const &alpha, IntegerType const &beta, IntegerType const &gamma, IntegerType const &delta)
RationalType sharpen(uint64_t precision, ImpreciseType const &value)