// Authors: Matthew Saltzman and Ted Ralphs // Copyright 2015, Matthew Saltzman and Ted Ralphs // Licensed under the Eclipse Public License 1.0 #ifndef CoinRational_H #define CoinRational_H #include //Small class for rational numbers class CoinRational { public : long getDenominator() { return denominator_; } long getNumerator() { return numerator_; } CoinRational(): numerator_(0), denominator_(1) {}; CoinRational(long n, long d): numerator_(n), denominator_(d) {}; CoinRational(double val, double maxdelta, long maxdnom) { if (!nearestRational_(val, maxdelta, maxdnom)){ numerator_ = 0; denominator_ = 1; } }; private : long numerator_; long denominator_; bool nearestRational_(double val, double maxdelta, long maxdnom); }; #endif