X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FFunctionValues.hs;h=e8bdcb8e2d1f294216d38fa24d3b56fcc4cba786;hb=d8bb807e89fbb193b373be111217813d5a4222e9;hp=9fd3c7862516cc404220b66e172201685c18ea35;hpb=1d2e0c4c6e5d766bd3ac6834d9dec298679f7c31;p=spline3.git diff --git a/src/FunctionValues.hs b/src/FunctionValues.hs index 9fd3c78..e8bdcb8 100644 --- a/src/FunctionValues.hs +++ b/src/FunctionValues.hs @@ -74,8 +74,14 @@ eval f (Product x y) = (eval f x) * (eval f y) eval f (Quotient x y) = (eval f x) / (eval f y) value_at :: [[[Double]]] -> Int -> Int -> Int -> Double -value_at values i j k = - ((values !! k) !! j) !! i +value_at values i j k + | i < 0 = 0 + | j < 0 = 0 + | k < 0 = 0 + | length values <= k = 0 + | length (values !! k) <= j = 0 + | length ((values !! k) !! j) <= i = 0 + | otherwise = ((values !! k) !! j) !! i make_values :: [[[Double]]] -> Int -> Int -> Int -> FunctionValues make_values values i j k =