Ejemplo n.º 1
0
// FIXME: Make sure that zero has the same floating point
// semantics as x.
inline Real
operator-(Real const& x)
{
  Real zero;
  return zero - x.impl();
}
Ejemplo n.º 2
0
inline Real
operator*(Real const& a, Real const& b)
{
  return a.impl() * b.impl();
}
Ejemplo n.º 3
0
inline Real
operator/(Real const& a, Real const& b)
{
  return a.impl() / b.impl();
}
Ejemplo n.º 4
0
inline Real
operator-(Real const& a, Real const& b)
{
  return a.impl() - b.impl();
}
Ejemplo n.º 5
0
// Arithmetic
inline Real
operator+(Real const& a, Real const& b)
{
  return a.impl() + b.impl();
}
Ejemplo n.º 6
0
inline bool
operator>(Real const& a, Real const& b)
{
  return a.impl().compare(b.impl()) == llvm::APFloat::cmpGreaterThan;
}
Ejemplo n.º 7
0
// Ordering, defined for signed floating point values by default.
inline bool
operator<(Real const& a, Real const& b)
{
  return a.impl().compare(b.impl()) == llvm::APFloat::cmpLessThan;
}
Ejemplo n.º 8
0
// Equality comparison
// Returns true when the two floating point values have the same value.
inline bool
operator==(Real const& a, Real const& b)
{
  return a.impl().compare(b.impl()) == llvm::APFloat::cmpEqual;
}