diff options
| author | Vasile Vilvoiu <vasi@vilvoiu.ro> | 2021-07-22 21:11:43 +0300 |
|---|---|---|
| committer | Vasile Vilvoiu <vasi@vilvoiu.ro> | 2021-07-22 21:11:43 +0300 |
| commit | bb54f97810284770f827af6d3d6f9417d8d318ca (patch) | |
| tree | 1f5173097c23ce6a9fdd4cd94353c1a97830aaba | |
| parent | aa91ba3ab50320d9f3cf9b41a68d9c001f769df6 (diff) | |
Handle very small axes, when no nice value is found.
Fixes #23.
| -rw-r--r-- | src/renderer.cpp | 8 | ||||
| -rw-r--r-- | test/test-renderer.cpp | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/renderer.cpp b/src/renderer.cpp index 4337bbf..5285c63 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -381,8 +381,12 @@ Renderer::GetNiceTicks(double v_min, double v_max, const std::string& v_unit, un fval = std::floor(fval) + 1.0f; } fval *= factor; - assert(v_min <= fval); - assert(fval <= v_max); + + if ((fval < v_min) || (fval > v_max)) { + /* there is no nice value here; usually this happens because the + * axis length is too small */ + return v_min; + } return fval; }; diff --git a/test/test-renderer.cpp b/test/test-renderer.cpp index 7a091d9..d6b4284 100644 --- a/test/test-renderer.cpp +++ b/test/test-renderer.cpp @@ -166,6 +166,9 @@ TEST(TestRenderer, GetNiceTicks) /* first nice value */ {-300.0, 3000.0, "V", 200, 120, false, { {1.0/10.0, "0kV"}, {7.0/10.0, "2kV"} } }, + /* Issue #23 */ + {1.0, 100.0, "", 3, 50, false, { {0.02, "1"} } }, + /* Issue #26 */ {-70.0, -20.0, "dBFS", 907, 50, false, { {0.02, "-69dBFS"}, {0.08, "-66dBFS"}, {0.14, "-63dBFS"}, {0.2, "-60dBFS"}, {0.26, "-57dBFS"}, {0.32, "-54dBFS"}, {0.38, "-51dBFS"}, {0.44, "-48dBFS"}, {0.50, "-45dBFS"}, {0.56, "-42dBFS"}, {0.62, "-39dBFS"}, {0.68, "-36dBFS"}, {0.74, "-33dBFS"}, {0.80, "-30dBFS"}, {0.86, "-27dBFS"}, {0.92, "-24dBFS"}, {0.98, "-21dBFS"} } }, {-70.0, 0.0, "dBFS", 907, 50, false, { {0.0/14.0, "-70dBFS"}, {1.0/14.0, "-65dBFS"}, {2.0/14.0, "-60dBFS"}, {3.0/14.0, "-55dBFS"}, {4.0/14.0, "-50dBFS"}, {5.0/14.0, "-45dBFS"}, {6.0/14.0, "-40dBFS"}, {7.0/14.0, "-35dBFS"}, {8.0/14.0, "-30dBFS"}, {9.0/14.0, "-25dBFS"}, {10.0/14.0, "-20dBFS"}, {11.0/14.0, "-15dBFS"}, {12.0/14.0, "-10dBFS"}, {13.0/14.0, "-5dBFS"}, {14.0/14.0, "0dBFS"} } }, |
