NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
date::detail::no_overflow< R1, R2 > Struct Template Reference

#include <date.h>

Collaboration diagram for date::detail::no_overflow< R1, R2 >:

Classes

struct  mul
 
struct  mul< Xp, Yp, true >
 

Public Types

typedef std::ratio< mul< n1, d2, !value >::value, mul< n2, d1, !value >::valuetype
 

Static Public Attributes

static const bool value = (n1 <= max / d2) && (n2 <= max / d1)
 

Static Private Attributes

static const std::intmax_t gcd_n1_n2 = static_gcd<R1::num, R2::num>::value
 
static const std::intmax_t gcd_d1_d2 = static_gcd<R1::den, R2::den>::value
 
static const std::intmax_t n1 = R1::num / gcd_n1_n2
 
static const std::intmax_t d1 = R1::den / gcd_d1_d2
 
static const std::intmax_t n2 = R2::num / gcd_n1_n2
 
static const std::intmax_t d2 = R2::den / gcd_d1_d2
 
static const std::intmax_t max = LLONG_MAX
 

Detailed Description

template<class R1, class R2>
struct date::detail::no_overflow< R1, R2 >

Definition at line 1163 of file date.h.

Member Typedef Documentation

◆ type

template<class R1 , class R2 >
typedef std::ratio<mul<n1, d2, !value>::value, mul<n2, d1, !value>::value> date::detail::no_overflow< R1, R2 >::type

Definition at line 1193 of file date.h.

Member Data Documentation

◆ d1

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::d1 = R1::den / gcd_d1_d2
staticprivate

Definition at line 1169 of file date.h.

◆ d2

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::d2 = R2::den / gcd_d1_d2
staticprivate

Definition at line 1171 of file date.h.

◆ gcd_d1_d2

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::gcd_d1_d2 = static_gcd<R1::den, R2::den>::value
staticprivate

Definition at line 1167 of file date.h.

◆ gcd_n1_n2

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::gcd_n1_n2 = static_gcd<R1::num, R2::num>::value
staticprivate

Definition at line 1166 of file date.h.

◆ max

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::max = LLONG_MAX
staticprivate

Definition at line 1175 of file date.h.

◆ n1

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::n1 = R1::num / gcd_n1_n2
staticprivate

Definition at line 1168 of file date.h.

◆ n2

template<class R1 , class R2 >
const std::intmax_t date::detail::no_overflow< R1, R2 >::n2 = R2::num / gcd_n1_n2
staticprivate

Definition at line 1170 of file date.h.

◆ value

template<class R1 , class R2 >
const bool date::detail::no_overflow< R1, R2 >::value = (n1 <= max / d2) && (n2 <= max / d1)
static

Definition at line 1191 of file date.h.


The documentation for this struct was generated from the following file: