gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Own support for isnan()
0 2 0
default
2 files changed with 15 insertions and 6 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
... ...
@@ -597,11 +597,11 @@
597 597
      const Value &upperBound() const { return _ub; }
598 598
      ///Is the constraint lower bounded?
599 599
      bool lowerBounded() const {
600
        return _lb != -INF && !std::isnan(_lb);
600
        return _lb != -INF && !isnan(_lb);
601 601
      }
602 602
      ///Is the constraint upper bounded?
603 603
      bool upperBounded() const {
604
        return _ub != INF && !std::isnan(_ub);
604
        return _ub != INF && !isnan(_ub);
605 605
      }
606 606

	
607 607
    };
... ...
@@ -1666,7 +1666,7 @@
1666 1666
  inline LpBase::Constr operator<=(const LpBase::Value &n,
1667 1667
                                   const LpBase::Constr &c) {
1668 1668
    LpBase::Constr tmp(c);
1669
    LEMON_ASSERT(std::isnan(tmp.lowerBound()), "Wrong LP constraint");
1669
    LEMON_ASSERT(isnan(tmp.lowerBound()), "Wrong LP constraint");
1670 1670
    tmp.lowerBound()=n;
1671 1671
    return tmp;
1672 1672
  }
... ...
@@ -1678,7 +1678,7 @@
1678 1678
                                   const LpBase::Value &n)
1679 1679
  {
1680 1680
    LpBase::Constr tmp(c);
1681
    LEMON_ASSERT(std::isnan(tmp.upperBound()), "Wrong LP constraint");
1681
    LEMON_ASSERT(isnan(tmp.upperBound()), "Wrong LP constraint");
1682 1682
    tmp.upperBound()=n;
1683 1683
    return tmp;
1684 1684
  }
... ...
@@ -1690,7 +1690,7 @@
1690 1690
  inline LpBase::Constr operator>=(const LpBase::Value &n,
1691 1691
                                   const LpBase::Constr &c) {
1692 1692
    LpBase::Constr tmp(c);
1693
    LEMON_ASSERT(std::isnan(tmp.upperBound()), "Wrong LP constraint");
1693
    LEMON_ASSERT(isnan(tmp.upperBound()), "Wrong LP constraint");
1694 1694
    tmp.upperBound()=n;
1695 1695
    return tmp;
1696 1696
  }
... ...
@@ -1702,7 +1702,7 @@
1702 1702
                                   const LpBase::Value &n)
1703 1703
  {
1704 1704
    LpBase::Constr tmp(c);
1705
    LEMON_ASSERT(std::isnan(tmp.lowerBound()), "Wrong LP constraint");
1705
    LEMON_ASSERT(isnan(tmp.lowerBound()), "Wrong LP constraint");
1706 1706
    tmp.lowerBound()=n;
1707 1707
    return tmp;
1708 1708
  }
Ignore white space 6 line context
... ...
@@ -55,6 +55,15 @@
55 55
  /// 1/sqrt(2)
56 56
  const long double SQRT1_2 = 0.7071067811865475244008443621048490L;
57 57

	
58
  ///Check whether the parameter is NaN or not
59
  
60
  ///This function checks whether the parameter is NaN or not.
61
  ///Is should be equivalent with std::isnan(), but it is not
62
  ///provided by all compilers.
63
  inline bool isnan(double v)
64
    {
65
      return v!=v;
66
    }
58 67

	
59 68
  /// @}
60 69

	
0 comments (0 inline)