30#ifndef __CLAW_REAL_NUMBER_HPP__
31#define __CLAW_REAL_NUMBER_HPP__
56 return std::abs(v) <= 1
57 ? std::numeric_limits<T>::epsilon()
58 : std::abs(v) * std::numeric_limits<T>::epsilon();
69 friend std::istream& ::operator>><>(std::istream& is,
83 bool operator<(
const self_type& that)
const;
84 bool operator<=(
const self_type& that)
const;
85 bool operator>(
const self_type& that)
const;
86 bool operator>=(
const self_type& that)
const;
87 bool operator==(
const self_type& that)
const;
88 bool operator!=(
const self_type& that)
const;
100 std::ostream& output(std::ostream& os)
const;
102 template <
typename U>
110 value_type m_epsilon;
117 template <
typename T>
118 struct numeric_limits<
claw::real_number<T> > :
public numeric_limits<T>
121 template <
typename T>
137#include "claw/real_number.tpp"
Custom precision real numbers.
This is the main namespace.
This class generates an epsilon value of a given precision.