#include "Limits.hh"
#include <cerrno>
#include <cstdlib>
#include <climits>
#include <string>
Go to the source code of this file.
Namespaces | |
namespace | Parma_Polyhedra_Library |
namespace | Parma_Polyhedra_Library::Checked |
Classes | |
struct | Parma_Polyhedra_Library::Checked::Extended_Int< Policy, Type > |
struct | Parma_Polyhedra_Library::Checked::Larger< signed char > |
struct | Parma_Polyhedra_Library::Checked::Larger< unsigned char > |
struct | Parma_Polyhedra_Library::Checked::Larger< signed short > |
struct | Parma_Polyhedra_Library::Checked::Larger< unsigned short > |
struct | Parma_Polyhedra_Library::Checked::Larger< signed int > |
struct | Parma_Polyhedra_Library::Checked::Larger< unsigned int > |
struct | Parma_Polyhedra_Library::Checked::Larger< signed long > |
struct | Parma_Polyhedra_Library::Checked::Larger< unsigned long > |
struct | Parma_Polyhedra_Library::Checked::Larger< signed long long > |
struct | Parma_Polyhedra_Library::Checked::Larger< unsigned long long > |
Defines | |
#define | PPL_checked_int_inlines_hh 1 |
#define | ASSIGN2_SIGNED_SIGNED(Smaller, Larger) |
#define | ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) |
#define | ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) |
#define | ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) |
#define | ASSIGN_SIGNED(Type) SPECIALIZE_ASSIGN(signed_int_signed_int, Type, Type) |
#define | ASSIGN_UNSIGNED(Type) SPECIALIZE_ASSIGN(unsigned_int_unsigned_int, Type, Type) |
Typedefs | |
typedef int16_t | Parma_Polyhedra_Library::Checked::int_fast16_t |
typedef int32_t | Parma_Polyhedra_Library::Checked::int_fast32_t |
typedef int64_t | Parma_Polyhedra_Library::Checked::int_fast64_t |
typedef uint16_t | Parma_Polyhedra_Library::Checked::uint_fast16_t |
typedef uint32_t | Parma_Polyhedra_Library::Checked::uint_fast32_t |
typedef uint64_t | Parma_Polyhedra_Library::Checked::uint_fast64_t |
Functions | |
signed long long | strtoll (const char *nptr, char **endptr, int base) |
unsigned long long | strtoull (const char *nptr, char **endptr, int base) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::set_neg_overflow_int (To &to, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::set_pos_overflow_int (To &to, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::round_lt_int_no_overflow (To &to, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::round_gt_int_no_overflow (To &to, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::round_lt_int (To &to, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::round_gt_int (To &to, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::classify_int (const Type v, bool nan, bool inf, bool sign) |
template<typename Policy, typename Type> | |
bool | Parma_Polyhedra_Library::Checked::is_nan_int (const Type v) |
template<typename Policy, typename Type> | |
bool | Parma_Polyhedra_Library::Checked::is_minf_int (const Type v) |
template<typename Policy, typename Type> | |
bool | Parma_Polyhedra_Library::Checked::is_pinf_int (const Type v) |
template<typename Policy, typename Type> | |
bool | Parma_Polyhedra_Library::Checked::is_int_int (const Type v) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::set_special_int (Type &v, Result r) |
template<typename Policy, typename To, typename From> | |
Result | Parma_Polyhedra_Library::Checked::assign_signed_int_signed_int (To &to, const From from, Rounding_Dir dir) |
template<typename Policy, typename To, typename From> | |
Result | Parma_Polyhedra_Library::Checked::assign_signed_int_unsigned_int (To &to, const From from, Rounding_Dir dir) |
template<typename Policy, typename To, typename From> | |
Result | Parma_Polyhedra_Library::Checked::assign_unsigned_int_signed_int (To &to, const From from, Rounding_Dir dir) |
template<typename Policy, typename To, typename From> | |
Result | Parma_Polyhedra_Library::Checked::assign_unsigned_int_unsigned_int (To &to, const From from, Rounding_Dir dir) |
template<typename Policy, typename To, typename From> | |
Result | Parma_Polyhedra_Library::Checked::assign_int_float (To &to, const From from, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_signed_int_mpz (To &to, const mpz_class &from, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_unsigned_int_mpz (To &to, const mpz_class &from, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_int_mpq (To &to, const mpq_class &from, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_int_minf (To &to, const Minus_Infinity &, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_int_pinf (To &to, const Plus_Infinity &, Rounding_Dir dir) |
template<typename Policy, typename To> | |
Result | Parma_Polyhedra_Library::Checked::assign_int_nan (To &to, const Not_A_Number &, Rounding_Dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::neg_int_larger (Type &to, const Type x, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::add_int_larger (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sub_int_larger (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::mul_int_larger (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::neg_signed_int (Type &to, const Type from, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::neg_unsigned_int (Type &to, const Type from, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::add_signed_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::add_unsigned_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sub_signed_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sub_unsigned_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::mul_signed_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::mul_unsigned_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::div_signed_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::div_unsigned_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::rem_int (Type &to, const Type x, const Type y, Rounding_Dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::div2exp_unsigned_int (Type &to, const Type x, int exp, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::div2exp_signed_int (Type &to, const Type x, int exp, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::mul2exp_unsigned_int (Type &to, const Type x, int exp, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::mul2exp_signed_int (Type &to, const Type x, int exp, Rounding_Dir dir) |
template<typename Type> | |
void | Parma_Polyhedra_Library::Checked::isqrtrem_ (Type &q, Type &r, const Type from) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sqrt_unsigned_int (Type &to, const Type from, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sqrt_signed_int (Type &to, const Type from, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::add_mul_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::sub_mul_int (Type &to, const Type x, const Type y, Rounding_Dir dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::output_char (std::ostream &os, Type &from, const Numeric_Format &, Rounding_Dir) |
template<typename Policy, typename Type> | |
Result | Parma_Polyhedra_Library::Checked::output_int (std::ostream &os, Type &from, const Numeric_Format &, Rounding_Dir) |
#define ASSIGN2_SIGNED_SIGNED | ( | Smaller, | |||
Larger | ) |
Value:
SPECIALIZE_ASSIGN(signed_int_signed_int, Smaller, Larger) \ SPECIALIZE_ASSIGN(signed_int_signed_int, Larger, Smaller)
Definition at line 385 of file checked_int.inlines.hh.
#define ASSIGN2_SIGNED_UNSIGNED | ( | Smaller, | |||
Larger | ) |
Value:
SPECIALIZE_ASSIGN(signed_int_unsigned_int, Smaller, Larger) \ SPECIALIZE_ASSIGN(unsigned_int_signed_int, Larger, Smaller)
Definition at line 397 of file checked_int.inlines.hh.
#define ASSIGN2_UNSIGNED_SIGNED | ( | Smaller, | |||
Larger | ) |
Value:
SPECIALIZE_ASSIGN(unsigned_int_signed_int, Smaller, Larger) \ SPECIALIZE_ASSIGN(signed_int_unsigned_int, Larger, Smaller)
Definition at line 393 of file checked_int.inlines.hh.
#define ASSIGN2_UNSIGNED_UNSIGNED | ( | Smaller, | |||
Larger | ) |
Value:
SPECIALIZE_ASSIGN(unsigned_int_unsigned_int, Smaller, Larger) \ SPECIALIZE_ASSIGN(unsigned_int_unsigned_int, Larger, Smaller)
Definition at line 389 of file checked_int.inlines.hh.
#define ASSIGN_SIGNED | ( | Type | ) | SPECIALIZE_ASSIGN(signed_int_signed_int, Type, Type) |
Definition at line 401 of file checked_int.inlines.hh.
#define ASSIGN_UNSIGNED | ( | Type | ) | SPECIALIZE_ASSIGN(unsigned_int_unsigned_int, Type, Type) |
Definition at line 403 of file checked_int.inlines.hh.
#define PPL_checked_int_inlines_hh 1 |
Definition at line 24 of file checked_int.inlines.hh.
signed long long strtoll | ( | const char * | nptr, | |
char ** | endptr, | |||
int | base | |||
) |
unsigned long long strtoull | ( | const char * | nptr, | |
char ** | endptr, | |||
int | base | |||
) |