module Main where import Numeric.Miniball import qualified Data.Vector.Storable as V main :: IO () main = putStrLn "Known solution:" >> print sol2d >> putStrLn "Computed:" >> print (miniball test2d) >> print (miniballUnsafe test2d) >> putStrLn "Known solution:" >> print sol3d >> putStrLn "Computed:" >> print (miniball test3d) >> print (miniballUnsafe test3d) test2d :: [V.Vector Double] test2d = [V.fromList [-0.7, 1.6], V.fromList [1.72, 1.92], V.fromList [1.16, 0.32], V.fromList [0.52, 2.52], V.fromList [0.36, 1.24], V.fromList [2.2, 0.86], V.fromList [0.94, -0.72], V.fromList [-0.24, -1.28], V.fromList [-1.12, 3.22], V.fromList [-1.58, 2.48], V.fromList [-1.1, 0] ] sol2d :: Ball sol2d = Ball {center = V.fromList [-0.14643137011008156,1.0743423098451397], radius = 2.3562009253088805} test3d :: [V.Vector Double] test3d = [V.fromList [0,0,0], V.fromList [0,0,1], V.fromList [1,0,0], V.fromList [1,1,0], V.fromList [1,0,1], V.fromList [0,1,0], V.fromList [0,1,1], V.fromList [1,1,1] ] sol3d :: Ball sol3d = Ball {center = V.fromList [0.5,0.5,0.5], radius = 0.8660254037844386}