X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FValues.hs;h=dc45a3f16dd7560e5b5b2d863e212ef6654c30b8;hb=6c6ca17ba52b570cc50c1a9546ee9b6a5d3266fd;hp=1b8548e026a52195cd7a739351f0e4a90a1c95e0;hpb=3cf6c69c9c7fed364b13fa54ee78209f7485d304;p=spline3.git diff --git a/src/Values.hs b/src/Values.hs index 1b8548e..dc45a3f 100644 --- a/src/Values.hs +++ b/src/Values.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE TypeSynonymInstances #-} +{-# LANGUAGE FlexibleInstances #-} module Values where @@ -23,6 +23,9 @@ import System.FilePath () import Test.QuickCheck (Arbitrary(..), Gen) +import ScaleFactor + + type Values1D = Array DIM1 Double type Values2D = Array DIM2 Double type Values3D = Array DIM3 Double @@ -82,11 +85,11 @@ idx v3d i j k = shape = (Z :. i :. j :. k) -zoom_shape :: Int -> DIM3 -> DIM3 -zoom_shape scale_factor sh = +zoom_shape :: ScaleFactor -> DIM3 -> DIM3 +zoom_shape (sfx, sfy, sfz) sh = let (Z :. x :. y :. z) = sh - x' = x * scale_factor - y' = y * scale_factor - z' = z * scale_factor + x' = x * sfx + y' = y * sfy + z' = z * sfz in (Z :. x' :. y' :. z')