17 template<
typename IntegerType>
20 static std::pair<IntegerType, IntegerType>
calculate(
const IntegerType& a,
const IntegerType& b) {
23 if (a >= 0 && b >= 0) {
25 }
else if (a < 0 && b >= 0) {
27 }
else if (a >= 0 && b < 0) {
39 return std::make_pair(s, t);
42 static void calculate_recursive(
const IntegerType& a,
const IntegerType& b, IntegerType& s, IntegerType& t) {
43 assert(a >= 0 && b >= 0);
carl is the main namespace for the library.
Interval< Number > quotient(const Interval< Number > &_lhs, const Interval< Number > &_rhs)
Implements the division with remainder.
void divide(const cln::cl_I ÷nd, const cln::cl_I &divisor, cln::cl_I "ient, cln::cl_I &remainder)
cln::cl_I remainder(const cln::cl_I &a, const cln::cl_I &b)
Calculate the remainder of the integer division.
Extended euclidean algorithm for numbers.
static std::pair< IntegerType, IntegerType > calculate(const IntegerType &a, const IntegerType &b)
static void calculate_recursive(const IntegerType &a, const IntegerType &b, IntegerType &s, IntegerType &t)