packages feed

netlib-ffi 0.1.1 → 0.1.2

raw patch · 3 files changed

+69/−6 lines, 3 filesdep +deepseq

Dependencies added: deepseq

Files

netlib-ffi.cabal view
@@ -1,10 +1,10 @@ Name:             netlib-ffi-Version:          0.1.1+Version:          0.1.2 License:          BSD3 License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de> Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>-Homepage:         http://hub.darcs.net/thielema/netlib-ffi/+Homepage:         https://hub.darcs.net/thielema/netlib-ffi/ Category:         Math Synopsis:         Helper modules for FFI to BLAS and LAPACK Description:@@ -20,24 +20,27 @@ Build-Type:       Simple  Source-Repository this-  Tag:         0.1.1+  Tag:         0.1.2   Type:        darcs-  Location:    http://hub.darcs.net/thielema/netlib-ffi/+  Location:    https://hub.darcs.net/thielema/netlib-ffi/  Source-Repository head   Type:        darcs-  Location:    http://hub.darcs.net/thielema/netlib-ffi/+  Location:    https://hub.darcs.net/thielema/netlib-ffi/  Library   Build-Depends:     guarded-allocation >=0.0 && <0.1,     storable-complex >=0.2.2 && <0.3,-    transformers >=0.2 && <0.6,+    transformers >=0.2 && <0.7,+    deepseq >=1.3 && <1.6,     base >=4.5 && <5    GHC-Options:      -Wall -fwarn-missing-import-lists   Hs-Source-Dirs:   src   Default-Language: Haskell98   Exposed-Modules:+    Numeric.Netlib.Modifier+    Numeric.Netlib.Layout     Numeric.Netlib.Class     Numeric.Netlib.Utility
+ src/Numeric/Netlib/Layout.hs view
@@ -0,0 +1,15 @@+module Numeric.Netlib.Layout where++import Control.DeepSeq (NFData, rnf)+++data Order = RowMajor | ColumnMajor+   deriving (Eq, Show, Enum, Bounded)++instance NFData Order where+   rnf RowMajor = ()+   rnf ColumnMajor = ()++flipOrder :: Order -> Order+flipOrder RowMajor = ColumnMajor+flipOrder ColumnMajor = RowMajor
+ src/Numeric/Netlib/Modifier.hs view
@@ -0,0 +1,45 @@+module Numeric.Netlib.Modifier where++import Numeric.Netlib.Layout (Order, flipOrder)++import Data.Monoid (Monoid, mempty, mappend)+import Data.Semigroup (Semigroup, (<>))++++data Transposition = NonTransposed | Transposed+   deriving (Eq, Show, Enum, Bounded)++instance Semigroup Transposition where+   x<>y = if x==y then NonTransposed else Transposed++instance Monoid Transposition where+   mempty = NonTransposed+   mappend = (<>)++transposeOrder :: Transposition -> Order -> Order+transposeOrder NonTransposed = id+transposeOrder Transposed = flipOrder++++data Conjugation = NonConjugated | Conjugated+   deriving (Eq, Show, Enum, Bounded)++instance Semigroup Conjugation where+   x<>y = if x==y then NonConjugated else Conjugated++instance Monoid Conjugation where+   mempty = NonConjugated+   mappend = (<>)+++data Inversion = NonInverted | Inverted+   deriving (Eq, Show, Enum, Bounded)++instance Semigroup Inversion where+   x<>y = if x==y then NonInverted else Inverted++instance Monoid Inversion where+   mempty = NonInverted+   mappend = (<>)