summaryrefslogtreecommitdiff
path: root/src/lib/ratio.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-09-04 00:05:04 +0100
committerCarl Hetherington <cth@carlh.net>2014-09-04 00:05:04 +0100
commitcb1dfa9ec09af2abf6d10e4bf2764476db83841b (patch)
tree5ccd5fd123fa07702b6cf647cedb7df8e8917fa0 /src/lib/ratio.cc
parentdc120d521c740b7f1ec356538139c5769a5f54be (diff)
parent4092121ad052f406e8b5c5a2debbd8256321f182 (diff)
Merge master.
Diffstat (limited to 'src/lib/ratio.cc')
-rw-r--r--src/lib/ratio.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/ratio.cc b/src/lib/ratio.cc
index bb6963658..fc36415c5 100644
--- a/src/lib/ratio.cc
+++ b/src/lib/ratio.cc
@@ -56,3 +56,20 @@ Ratio::from_id (string i)
return *j;
}
+
+/** @return Ratio corresponding to a given fractional ratio (+/- 0.01), or 0 */
+Ratio const *
+Ratio::from_ratio (float r)
+{
+ vector<Ratio const *>::iterator j = _ratios.begin ();
+ while (j != _ratios.end() && fabs ((*j)->ratio() - r) > 0.01) {
+ ++j;
+ }
+
+ if (j == _ratios.end ()) {
+ return 0;
+ }
+
+ return *j;
+}
+