From 23f6f33d2cf9658ab3170b2309ad6a50dcaa3410 Mon Sep 17 00:00:00 2001 From: Greg Horn Date: Sat, 18 Jun 2016 17:49:41 -0700 Subject: [PATCH] Protect agains infinite loop when plotting tiny ranges fixes #128 --- chart/Graphics/Rendering/Chart/Axis/Floating.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/Graphics/Rendering/Chart/Axis/Floating.hs b/chart/Graphics/Rendering/Chart/Axis/Floating.hs index 18830f7b..e82178ee 100644 --- a/chart/Graphics/Rendering/Chart/Axis/Floating.hs +++ b/chart/Graphics/Rendering/Chart/Axis/Floating.hs @@ -108,7 +108,7 @@ scaledAxis lap rs@(minV,maxV) ps0 = makeAxis' realToFrac realToFrac ps = filter isValidNumber ps0 range [] = (0,1) range _ | minV == maxV = if minV==0 then (-1,1) else - let d = abs (minV * 0.01) in (minV-d,maxV+d) + let d = max 1e-300 (abs (minV * 0.01)) in (minV-d,maxV+d) | otherwise = rs labelvs = map fromRational $ steps (fromIntegral (_la_nLabels lap)) r tickvs = map fromRational $ steps (fromIntegral (_la_nTicks lap))