inline/remove top level oneliners

This commit is contained in:
Daniel Barlow 2024-11-21 21:40:47 +00:00
parent ec21f4c6e8
commit 9484597491

View File

@ -1,17 +1,15 @@
-- miscellaneous functions extracted from Main so
-- we can more easily test them
module Lib exposing(looseLabels)
module Lib exposing (looseLabels)
-- https://github.com/cenfun/nice-ticks/blob/master/docs/Nice-Numbers-for-Graph-Labels.pdf
log10 x = logBase 10 x
expt b x = b^(toFloat x)
niceNumber x round =
let exp = floor (log10 x)
f = x / (expt 10.0 exp)
let expt b ex = b^ toFloat ex
exp = floor (logBase 10 x)
f = x / expt 10.0 exp
nfRound = if f < 1.5
then 1
else if f < 3
@ -37,6 +35,6 @@ looseLabels ticks min max =
let
range = niceNumber (max-min) False
d = niceNumber (range/(ticks - 1)) True
graphmin = toFloat (floor (min/d)) * d
graphmin = toFloat (floor (min/d)) * d
graphmax = toFloat (ceiling (max/d)) * d
in (graphmin, graphmax, d)