phonetic-languages-filters-array 0.2.0.0 → 0.3.0.0
raw patch · 3 files changed
+15/−13 lines, 3 filesdep −hashabledep ~basedep ~mmsyn2-arrayPVP ok
version bump matches the API change (PVP)
Dependencies removed: hashable
Dependency ranges changed: base, mmsyn2-array
API changes (from Hackage documentation)
- Phonetic.Languages.Filters: unsafeRearrangeIG :: (RealFrac b, Integral c, Hashable c) => b -> b -> c -> [(c, c)] -> b -> b
+ Phonetic.Languages.Filters: unsafeRearrangeIG :: (RealFrac b, Integral c) => b -> b -> c -> [(c, c)] -> b -> b
- Phonetic.Languages.Filters: unsafeRearrangeIGV :: (RealFrac b, Integral c, Hashable c) => b -> b -> c -> [c] -> b -> b
+ Phonetic.Languages.Filters: unsafeRearrangeIGV :: (RealFrac b, Integral c) => b -> b -> c -> [c] -> b -> b
- Phonetic.Languages.Filters: unsafeSwapIWithMaxI :: (RealFrac b, Integral c, Hashable c) => b -> b -> c -> c -> b -> b
+ Phonetic.Languages.Filters: unsafeSwapIWithMaxI :: (RealFrac b, Integral c) => b -> b -> c -> c -> b -> b
- Phonetic.Languages.Filters: unsafeSwapVecIWithMaxI :: (RealFrac b, Integral c, Hashable c) => b -> b -> c -> [c] -> b -> b
+ Phonetic.Languages.Filters: unsafeSwapVecIWithMaxI :: (RealFrac b, Integral c) => b -> b -> c -> [c] -> b -> b
Files
CHANGELOG.md view
@@ -8,3 +8,7 @@ * Second version. Switched to the Case.Hashable.Cuckoo.getBFstL' function and the cuckoo hashtables. Updated the dependencies boundaries.++## 0.3.0.0 -- 2021-10-31++* Third version. Switched back to the CaseBi.Arr.getBFstLSorted' function.
Phonetic/Languages/Filters.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Phonetic.Languages.Filters--- Copyright : (c) OleksandrZhabenko 2020+-- Copyright : (c) OleksandrZhabenko 2020-2021 -- License : MIT -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com@@ -8,8 +8,7 @@ -- A module allows to change the structure of the function output for the functions of -- elements from 'RealFrac' class. At the moment only the equal intervals are supported. -- Uses less dependencies than its former analogue package @uniqueness-periods-vector-filters@.--- Reimports the functions from the @filters-basic@ module except the auxiliary zero2One,--- so if you intend to use the functionality of both of them, use just this one.+-- module Phonetic.Languages.Filters ( -- * One interval used@@ -26,8 +25,7 @@ import Data.Filters.Basic import GHC.Arr-import Case.Hashable.Cuckoo-import Data.Hashable (Hashable(..))+import CaseBi.Arr -- | Makes a complex interval-based transformation moving the value from its own interval to the corresponding by the list of tuples second element of the -- respective pair with the first element being the starting number of the interval (numeration of them begins at 1). The list argument must be sorted@@ -36,7 +34,7 @@ -- but they are not checked. For example, the first argument must be less than the second one; the fifth argument must be located between the first two ones; -- the third argument must be greater than zero. unsafeRearrangeIG- :: (RealFrac b, Integral c, Hashable c) => b+ :: (RealFrac b, Integral c) => b -> b -> c -> [(c,c)]@@ -44,13 +42,13 @@ -> b unsafeRearrangeIG minE maxE n xs x | minE == maxE = x- | otherwise = x + fromIntegral (getBFstL' n0 xs n0 - n0) * (maxE - minE) / fromIntegral n+ | otherwise = x + fromIntegral (getBFstLSorted' n0 xs n0 - n0) * (maxE - minE) / fromIntegral n where n0 = intervalNRealFrac minE maxE n x -- | An unzipped variant of the 'unsafeRearrangeIG' function where the list argument is internally 'zip'ped as the second argument with the @[1..n]@. -- This allows to shorten the time of the arguments writing. unsafeRearrangeIGV- :: (RealFrac b, Integral c, Hashable c) => b+ :: (RealFrac b, Integral c) => b -> b -> c -> [c]@@ -61,7 +59,7 @@ -- | Swaps the k-th inner interval values with the maximum one's (that is the n-th one) values. unsafeSwapIWithMaxI- :: (RealFrac b, Integral c, Hashable c) => b+ :: (RealFrac b, Integral c) => b -> b -> c -- ^ It is expected to be greater than 0, though this is not checked. -> c -- ^ It is expected to be less than the previous argument, but greater than 0, though this is not checked.@@ -80,7 +78,7 @@ -- (that is the n-th one) values. The list must be not empty and sorted in the ascending order, though it is not checked. Be aware that this can -- significantly change the density of the values and break some other properties for distributions. unsafeSwapVecIWithMaxI- :: (RealFrac b, Integral c, Hashable c) => b+ :: (RealFrac b, Integral c) => b -> b -> c -- ^ It is expected to be greater than 0, though this is not checked. -> [c] -- ^ It is expected the list to be sorted in the ascending order (indices are counted in it starting with 1 opposed to the usual behaviour for lists and are the numbers of the intervals in the range from 1 to n), and besides all the elements to be less than the previous argument, greater than 0 and to be not pairwise equal, though it is not checked.@@ -88,7 +86,7 @@ -> b unsafeSwapVecIWithMaxI minE maxE n xs = unsafeRearrangeIGV minE maxE n (map h [0..n - 1]) where h i- | getBFstL' False (zip (map (+ (-1)) xs) . replicate (fromIntegral n) $ True) i = n - 1+ | getBFstLSorted' False (zip (map (+ (-1)) xs) . replicate (fromIntegral n) $ True) i = n - 1 | i == n - 1 = head xs | otherwise = i {-# INLINE unsafeSwapVecIWithMaxI #-}
phonetic-languages-filters-array.cabal view
@@ -2,7 +2,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-filters-array-version: 0.2.0.0+version: 0.3.0.0 synopsis: Allows to change the structure of the function output. description: Allows to change the structure of the function output for the data types that have instances of the RealFrac class. Is rewritten from the predecessor uniqueness-periods-vector-filters package. Since the 0.2.0.0 version uses hashtables (because of using Case.Hashable.Cuckoo.getBFstL' function). homepage: https://hackage.haskell.org/package/phonetic-languages-filters-array@@ -20,6 +20,6 @@ exposed-modules: Phonetic.Languages.Filters -- other-modules: -- other-extensions:- build-depends: base >=4.9 && <5, filters-basic >=0.1.1 && <1, mmsyn2-array >= 0.2.1.1 && <1, hashable >= 1.2.7 && <2+ build-depends: base >=4.8 && <5, filters-basic >=0.1.1 && <1, mmsyn2-array >= 0.3 && <1 -- hs-source-dirs: default-language: Haskell2010