Make display colour for introscan white

This commit is contained in:
2025-01-01 15:28:19 +00:00
parent 08685909be
commit dda6cb2ad6
4 changed files with 17 additions and 14 deletions
+14 -14
View File
@@ -1,9 +1,8 @@
module ShortShow
( shortShow
) where
import Geometry
module ShortShow (
shortShow,
) where
--import Data.Typeable
import Geometry
import Numeric
class ShortShow a where
@@ -11,13 +10,13 @@ class ShortShow a where
instance ShortShow a => ShortShow (V2 a) where
shortShow (V2 x y) = shortShow x ++ "#" ++ shortShow y
instance ShortShow Float where
shortShow x = showFFloat (Just 2) x ""
instance ShortShow Int where
shortShow x
| x < k = show x
| x < k' = show x
| x < m = fdiv x k "K"
| x < g = fdiv x m "M"
| x < t = fdiv x g "G"
@@ -25,18 +24,19 @@ instance ShortShow Int where
| otherwise = show x ++ "P"
fdiv :: Int -> Int -> String -> String
fdiv x y s = removeDot (take 3 (show ((fromIntegral x / fromIntegral y)::Float))) ++ s
fdiv x y s = removeDot (take 3 (show ((fromIntegral x / fromIntegral y) :: Float))) ++ s
removeDot :: String -> String
removeDot [a,b,'.'] = [a,b]
removeDot [a, b, '.'] = [a, b]
removeDot xs = xs
k,m,g,t,p :: Int
k, k', m, g, t, p :: Int
k = 10 ^ (3 :: Int)
k' = 10 ^ (4 :: Int) -- this allows showing up to 9999 directly
m = 10 ^ (6 :: Int)
g = 10 ^ (9 :: Int)
t = 10 ^ (12:: Int)
p = 10 ^ (15:: Int)
t = 10 ^ (12 :: Int)
p = 10 ^ (15 :: Int)
instance (ShortShow a,ShortShow b) => ShortShow (a,b) where
shortShow (a,b) = '(' : shortShow a ++ "," ++ shortShow b ++ ")"
instance (ShortShow a, ShortShow b) => ShortShow (a, b) where
shortShow (a, b) = '(' : shortShow a ++ "," ++ shortShow b ++ ")"