diff --git a/range.cpp b/range.cpp index 2958c7e1..83e51d74 100644 --- a/range.cpp +++ b/range.cpp @@ -29,45 +29,49 @@ #include -//----------------------------------------------------------------------------- -using namespace std; -using namespace util; - - //----------------------------------------------------------------------------- template -range::range (T _min, T _max): +util::range::range (T _min, T _max): min (_min), max (_max) - { sanity (); } +{ + sanity (); +} //----------------------------------------------------------------------------- template bool -range::contains (T val) const - { return val >= min && val <= max; } +util::range::contains (T val) const +{ + return val >= min && val <= max; +} //----------------------------------------------------------------------------- template bool -range::contains (const range &r) const - { return r.min >= min && r.max <= max; } +util::range::contains (const range &r) const +{ + return r.min >= min && r.max <= max; +} //----------------------------------------------------------------------------- template void -range::sanity (void) const - { CHECK (min <= max); } +util::range::sanity (void) const +{ + CHECK (min <= max); +} //----------------------------------------------------------------------------- namespace util { template <> void - range::sanity (void) const { + range::sanity (void) const + { if (std::isnan (min) || std::isnan (max)) return; CHECK (min <= max); @@ -78,14 +82,17 @@ namespace util { //----------------------------------------------------------------------------- template T -range::clamp (T val) const - { return std::max (min, std::min (val, max)); } +util::range::clamp (T val) const +{ + return std::max (min, std::min (val, max)); +} //----------------------------------------------------------------------------- template void -range::expand (T val) { +util::range::expand (T val) +{ // The arguments to min and max are such that expansion from initial NaN // values should change both min and max to be that value. min = std::min (val, min); @@ -95,8 +102,9 @@ range::expand (T val) { //----------------------------------------------------------------------------- template -range& -range::operator*= (T val) { +util::range& +util::range::operator*= (T val) +{ min *= val; max *= val; @@ -106,9 +114,10 @@ range::operator*= (T val) { //----------------------------------------------------------------------------- template -range -range::operator* (T val) const { - return range (min * val, max * val); +util::range +util::range::operator* (T val) const +{ + return util::range (min * val, max * val); } @@ -116,14 +125,16 @@ range::operator* (T val) const { namespace util { template <> double - range::random (void) const { + range::random (void) const + { double pos = ::rand () / (double)(RAND_MAX); return (max - min) * pos + min; } template <> float - range::random (void) const { + range::random (void) const + { float pos = ::rand () / (float)(RAND_MAX); return (max - min) * pos + min; } @@ -133,7 +144,8 @@ namespace util { //----------------------------------------------------------------------------- template T -range::random (void) const { +util::range::random (void) const +{ return min + (T)::rand () % (max - min); } @@ -143,44 +155,50 @@ namespace util { template <> bool range::operator ==(const range &rhs) const - { return almost_equal (min, rhs.min) && - almost_equal (max, rhs.max); } + { + return almost_equal (min, rhs.min) && + almost_equal (max, rhs.max); + } template <> bool range::operator ==(const range &rhs) const - { return almost_equal (min, rhs.min) && - almost_equal (max, rhs.max); } + { + return almost_equal (min, rhs.min) && + almost_equal (max, rhs.max); + } } //----------------------------------------------------------------------------- template bool -range::operator ==(const range &rhs) const - { return min == rhs.min && max == rhs.max; } +util::range::operator ==(const util::range &rhs) const +{ + return min == rhs.min && max == rhs.max; +} //----------------------------------------------------------------------------- template -const range -range::UNLIMITED (numeric_limits::has_infinity ? -numeric_limits::infinity () : - numeric_limits::lowest (), - numeric_limits::has_infinity ? numeric_limits::infinity () : - numeric_limits::max ()); +const util::range +util::range::UNLIMITED (std::numeric_limits::has_infinity ? -std::numeric_limits::infinity () : + std::numeric_limits::lowest (), + std::numeric_limits::has_infinity ? std::numeric_limits::infinity () : + std::numeric_limits::max ()); //----------------------------------------------------------------------------- template -const range -range::MAX (numeric_limits::lowest (), - numeric_limits::max ()); +const util::range +util::range::MAX (std::numeric_limits::lowest (), + std::numeric_limits::max ()); //----------------------------------------------------------------------------- template -const range -range::UNIT (0.0, 1.0); +const util::range +util::range::UNIT (0.0, 1.0); //----------------------------------------------------------------------------- @@ -198,7 +216,8 @@ namespace util { namespace json { namespace tree { template <> util::range - io>::deserialise (const json::tree::node &node) { + io>::deserialise (const json::tree::node &node) + { if (node.is_string () && (node == "UNIT" || node == "unit")) { return util::range::UNIT;