| 
    rippled
    
   | 
 
#include <Number.h>

Classes | |
| class | Guard | 
| struct | unchecked | 
Public Types | |
| enum | rounding_mode { to_nearest , towards_zero , downward , upward } | 
Public Member Functions | |
| constexpr | Number ()=default | 
| Number (rep mantissa) | |
| Number (rep mantissa, int exponent) | |
| constexpr | Number (rep mantissa, int exponent, unchecked) noexcept | 
| constexpr rep | mantissa () const noexcept | 
| constexpr int | exponent () const noexcept | 
| constexpr Number | operator+ () const noexcept | 
| constexpr Number | operator- () const noexcept | 
| Number & | operator++ () | 
| Number | operator++ (int) | 
| Number & | operator-- () | 
| Number | operator-- (int) | 
| Number & | operator+= (Number const &x) | 
| Number & | operator-= (Number const &x) | 
| Number & | operator*= (Number const &x) | 
| Number & | operator/= (Number const &x) | 
| operator rep () const | |
| Conversions to Number are implicit and conversions away from Number are explicit.   | |
| constexpr int | signum () const noexcept | 
| Return the sign of the amount.   | |
| Number | truncate () const noexcept | 
Static Public Member Functions | |
| static constexpr Number | min () noexcept | 
| static constexpr Number | max () noexcept | 
| static constexpr Number | lowest () noexcept | 
| static rounding_mode | getround () | 
| static rounding_mode | setround (rounding_mode mode) | 
Static Public Attributes | |
| static constexpr std::int64_t | minMantissa = 1'000'000'000'000'000LL | 
| static constexpr std::int64_t | maxMantissa = 9'999'999'999'999'999LL | 
| static constexpr int | minExponent = -32768 | 
| static constexpr int | maxExponent = 32768 | 
Private Types | |
| using | rep = std::int64_t | 
Private Member Functions | |
| void | normalize () | 
| constexpr bool | isnormal () const noexcept | 
Private Attributes | |
| rep | mantissa_ {0} | 
| int | exponent_ {std::numeric_limits<int>::lowest()} | 
Static Private Attributes | |
| static thread_local rounding_mode | mode_ = Number::to_nearest | 
Friends | |
| constexpr bool | operator== (Number const &x, Number const &y) noexcept | 
| constexpr bool | operator!= (Number const &x, Number const &y) noexcept | 
| constexpr bool | operator< (Number const &x, Number const &y) noexcept | 
| constexpr bool | operator> (Number const &x, Number const &y) noexcept | 
| constexpr bool | operator<= (Number const &x, Number const &y) noexcept | 
| constexpr bool | operator>= (Number const &x, Number const &y) noexcept | 
| std::ostream & | operator<< (std::ostream &os, Number const &x) | 
      
  | 
  private | 
      
  | 
  explicitconstexprdefault | 
      
  | 
  explicit | 
      
  | 
  constexprnoexcept | 
      
  | 
  constexprnoexcept | 
      
  | 
  constexprnoexcept | 
      
  | 
  constexprnoexcept | 
Definition at line 230 of file Number.cpp.
Definition at line 376 of file Number.cpp.
Definition at line 448 of file Number.cpp.
      
  | 
  staticconstexprnoexcept | 
      
  | 
  staticconstexprnoexcept | 
      
  | 
  staticconstexprnoexcept | 
      
  | 
  explicit | 
Conversions to Number are implicit and conversions away from Number are explicit.
This design encourages and facilitates the use of Number as the preferred type for floating point arithmetic as it makes "mixed mode" more convenient, e.g. MPTAmount + Number.
Definition at line 480 of file Number.cpp.
      
  | 
  constexprnoexcept | 
      
  | 
  static | 
Definition at line 47 of file Number.cpp.
      
  | 
  static | 
Definition at line 53 of file Number.cpp.
      
  | 
  private | 
Definition at line 178 of file Number.cpp.
      
  | 
  constexprprivatenoexcept | 
      
  | 
  friend | 
      
  | 
  private | 
      
  | 
  staticconstexpr | 
      
  | 
  staticconstexpr | 
      
  | 
  staticconstexpr | 
      
  | 
  staticconstexpr | 
      
  | 
  staticprivate |