packages feed

HQu 0.0.0.4 → 0.0.0.5

raw patch · 2 files changed

+16/−8 lines, 2 files

Files

HQu.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.4 name:                HQu-version:             0.0.0.4+version:             0.0.0.5 synopsis:            quantitative finance library description:         General purpose quantitative finance library homepage:            https://github.com/ghais/HQu@@ -164,7 +164,7 @@        if arch(x86_64)             cc-options: -fPIC  extra-libraries: gsl- pkgconfig-depends: gsl+ --pkgconfig-depends: gsl  test-suite bachelier-test   import:              common-options
src/Q/SortedVector.hs view
@@ -9,18 +9,26 @@   , maxElement   ) where -import qualified Data.Vector.Algorithms.Merge  as V (sort)+import qualified Data.Vector.Algorithms.Merge  as Merge (sort) -import           Data.Vector.Storable  (Storable)-import qualified Data.Vector.Storable as V (Vector (..), fromList, length, head, last, modify)-import           Q.Types+import qualified Data.Vector.Storable as V (Storable, Vector, fromList, head, last, modify) ++-- | A sorted vector. newtype SortedVector a = SortedVector (V.Vector a) -fromList as = SortedVector (V.modify V.sort $ V.fromList as)-fromVector v = SortedVector (V.modify V.sort v)+-- | construct a 'SortedVector' from a list+fromList :: (V.Storable a, Ord a) => [a] -> SortedVector a+fromList as = SortedVector (V.modify Merge.sort $ V.fromList as)++fromVector :: (V.Storable a, Ord a) => V.Vector a -> SortedVector a+fromVector v = SortedVector (V.modify Merge.sort v)++fromSortedList :: V.Storable a => [a] -> SortedVector a fromSortedList xs = SortedVector $ V.fromList xs  +minElement :: V.Storable a => SortedVector a -> a minElement (SortedVector v) = V.head v+maxElement :: V.Storable a => SortedVector a -> a maxElement (SortedVector v) = V.last v