diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-09-04 00:05:04 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-09-04 00:05:04 +0100 |
| commit | cb1dfa9ec09af2abf6d10e4bf2764476db83841b (patch) | |
| tree | 5ccd5fd123fa07702b6cf647cedb7df8e8917fa0 /src/lib/ratio.cc | |
| parent | dc120d521c740b7f1ec356538139c5769a5f54be (diff) | |
| parent | 4092121ad052f406e8b5c5a2debbd8256321f182 (diff) | |
Merge master.
Diffstat (limited to 'src/lib/ratio.cc')
| -rw-r--r-- | src/lib/ratio.cc | 17 |
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; +} + |
