From 8878aaaf649962f4360a94109a674da756ad2202 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Thu, 8 Jan 2015 13:54:23 +0100 Subject: update base to ghc-7.10 --- packages/base/hmatrix.cabal | 34 ++++++++++------------ packages/base/src/Data/Packed/Internal/Numeric.hs | 1 - packages/base/src/Data/Packed/Internal/Vector.hs | 1 - packages/base/src/Data/Packed/Numeric.hs | 1 - packages/base/src/Numeric/Chain.hs | 2 ++ .../base/src/Numeric/LinearAlgebra/Algorithms.hs | 5 ++-- packages/base/src/Numeric/LinearAlgebra/Static.hs | 5 ++-- packages/base/src/Numeric/LinearAlgebra/Util/CG.hs | 6 ++-- 8 files changed, 24 insertions(+), 31 deletions(-) (limited to 'packages') diff --git a/packages/base/hmatrix.cabal b/packages/base/hmatrix.cabal index 8ba3e06..f5384f3 100644 --- a/packages/base/hmatrix.cabal +++ b/packages/base/hmatrix.cabal @@ -1,5 +1,5 @@ Name: hmatrix -Version: 0.16.1.3 +Version: 0.17.0.0 License: BSD3 License-file: LICENSE Author: Alberto Ruiz @@ -38,7 +38,7 @@ flag openblas library - Build-Depends: base >= 4 && < 5, + Build-Depends: base >= 4.8 && < 5, binary, array, deepseq, @@ -50,27 +50,19 @@ library hs-source-dirs: src - exposed-modules: Data.Packed, - Data.Packed.Vector, - Data.Packed.Matrix, - Data.Packed.Foreign, - Data.Packed.ST, - Data.Packed.Development, - - Numeric.LinearAlgebra - Numeric.LinearAlgebra.LAPACK - Numeric.LinearAlgebra.Algorithms - Numeric.Container - Numeric.LinearAlgebra.Util - - Numeric.LinearAlgebra.Devel + exposed-modules: Numeric.LinearAlgebra.Devel Numeric.LinearAlgebra.Data Numeric.LinearAlgebra.HMatrix Numeric.LinearAlgebra.Static - - + Numeric.LinearAlgebra.Util - other-modules: Data.Packed.Internal, + other-modules: Data.Packed, + Data.Packed.Vector + Data.Packed.Matrix + Data.Packed.Foreign + Data.Packed.ST + Data.Packed.Development + Data.Packed.Internal Data.Packed.Internal.Common Data.Packed.Internal.Signatures Data.Packed.Internal.Vector @@ -82,6 +74,10 @@ library Numeric.Matrix Data.Packed.Internal.Numeric Data.Packed.Numeric + Numeric.LinearAlgebra + Numeric.LinearAlgebra.LAPACK + Numeric.LinearAlgebra.Algorithms + Numeric.Container Numeric.LinearAlgebra.Util.Convolution Numeric.LinearAlgebra.Util.CG Numeric.LinearAlgebra.Random diff --git a/packages/base/src/Data/Packed/Internal/Numeric.hs b/packages/base/src/Data/Packed/Internal/Numeric.hs index 9adc023..dc5724d 100644 --- a/packages/base/src/Data/Packed/Internal/Numeric.hs +++ b/packages/base/src/Data/Packed/Internal/Numeric.hs @@ -48,7 +48,6 @@ import Numeric.Conversion import Data.Packed.Development import Numeric.Vectorized import Data.Complex -import Control.Applicative((<*>)) import Numeric.LinearAlgebra.LAPACK(multiplyR,multiplyC,multiplyF,multiplyQ) import Data.Packed.Internal diff --git a/packages/base/src/Data/Packed/Internal/Vector.hs b/packages/base/src/Data/Packed/Internal/Vector.hs index d0bc143..b49f379 100644 --- a/packages/base/src/Data/Packed/Internal/Vector.hs +++ b/packages/base/src/Data/Packed/Internal/Vector.hs @@ -35,7 +35,6 @@ import Foreign.Ptr(Ptr) import Foreign.Storable(Storable, peekElemOff, pokeElemOff, sizeOf) import Foreign.C.Types import Data.Complex -import Control.Monad(when) import System.IO.Unsafe(unsafePerformIO) #if __GLASGOW_HASKELL__ >= 605 diff --git a/packages/base/src/Data/Packed/Numeric.hs b/packages/base/src/Data/Packed/Numeric.hs index 6027f43..b2395f2 100644 --- a/packages/base/src/Data/Packed/Numeric.hs +++ b/packages/base/src/Data/Packed/Numeric.hs @@ -71,7 +71,6 @@ import Data.Packed import Data.Packed.Internal.Numeric import Data.Complex import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD) -import Data.Monoid(Monoid(mconcat)) import Data.Packed.IO import Numeric.LinearAlgebra.Random diff --git a/packages/base/src/Numeric/Chain.hs b/packages/base/src/Numeric/Chain.hs index 4c497f0..55e2df6 100644 --- a/packages/base/src/Numeric/Chain.hs +++ b/packages/base/src/Numeric/Chain.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE FlexibleContexts #-} + ----------------------------------------------------------------------------- -- | -- Module : Numeric.Chain diff --git a/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs b/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs index 02ac6a0..a113d48 100644 --- a/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs +++ b/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs @@ -935,10 +935,9 @@ relativeError' x y = dig (norm (x `sub` y) / norm x) dig r = round $ -logBase 10 (realToFrac r :: Double) -relativeError :: (Normed c t, Num (c t)) => NormType -> c t -> c t -> Double -relativeError t a b = realToFrac r +relativeError :: Num a => (a -> Double) -> a -> a -> Double +relativeError norm a b = r where - norm = pnorm t na = norm a nb = norm b nab = norm (a-b) diff --git a/packages/base/src/Numeric/LinearAlgebra/Static.hs b/packages/base/src/Numeric/LinearAlgebra/Static.hs index cc5eb4f..a26cc4c 100644 --- a/packages/base/src/Numeric/LinearAlgebra/Static.hs +++ b/packages/base/src/Numeric/LinearAlgebra/Static.hs @@ -13,7 +13,6 @@ {-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE GADTs #-} -{-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE TypeFamilies #-} @@ -184,8 +183,8 @@ a ¦ b = tr (tr a —— tr b) type Sq n = L n n --type CSq n = CL n n -type GL = (KnownNat n, KnownNat m) => L m n -type GSq = KnownNat n => Sq n +type GL = forall n m . (KnownNat n, KnownNat m) => L m n +type GSq = forall n . KnownNat n => Sq n isKonst :: forall m n . (KnownNat m, KnownNat n) => L m n -> Maybe (ℝ,(Int,Int)) isKonst s@(unwrap -> x) diff --git a/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs b/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs index b82c74f..899a5bf 100644 --- a/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs +++ b/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs @@ -9,7 +9,7 @@ module Numeric.LinearAlgebra.Util.CG( import Data.Packed.Numeric import Numeric.Sparse import Numeric.Vector() -import Numeric.LinearAlgebra.Algorithms(linearSolveLS, relativeError, NormType(..)) +import Numeric.LinearAlgebra.Algorithms(linearSolveLS, relativeError, pnorm, NormType(..)) import Control.Arrow((***)) {- @@ -142,13 +142,13 @@ instance Testable GMatrix print s3; print d3 print s4; print d4 print s5; print d5 - print $ relativeError Infinity s5 d5 + print $ relativeError (pnorm Infinity) s5 d5 ok = s1==d1 && s2==d2 && s3==d3 && s4==d4 - && relativeError Infinity s5 d5 < 1E-10 + && relativeError (pnorm Infinity) s5 d5 < 1E-10 disp = putStr . dispf 2 -- cgit v1.2.3