log-domain 0.10.3.1 → 0.11
raw patch · 8 files changed
+127/−46 lines, 8 filesdep +ghc-primdep −hashable-extrasdep ~basedep ~generic-derivingdep ~hashablesetup-changednew-uploaderPVP ok
version bump matches the API change (PVP)
Dependencies added: ghc-prim
Dependencies removed: hashable-extras
Dependency ranges changed: base, generic-deriving, hashable
API changes (from Hackage documentation)
- Numeric.Log: instance Data.Hashable.Extras.Hashable1 Numeric.Log.Log
- Numeric.Log: instance GHC.Generics.Constructor Numeric.Log.C1_0Log
- Numeric.Log: instance GHC.Generics.Datatype Numeric.Log.D1Log
- Numeric.Log: instance GHC.Generics.Selector Numeric.Log.S1_0_0Log
- Numeric.Log.Signed: instance GHC.Generics.Constructor Numeric.Log.Signed.C1_0SignedLog
- Numeric.Log.Signed: instance GHC.Generics.Datatype Numeric.Log.Signed.D1SignedLog
- Numeric.Log.Signed: instance GHC.Generics.Selector Numeric.Log.Signed.S1_0_0SignedLog
- Numeric.Log.Signed: instance GHC.Generics.Selector Numeric.Log.Signed.S1_0_1SignedLog
+ Numeric.Log: instance Data.Hashable.Class.Hashable1 Numeric.Log.Log
Files
- .travis.yml +90/−13
- CHANGELOG.markdown +8/−0
- README.markdown +9/−9
- Setup.lhs +4/−0
- log-domain.cabal +9/−10
- src/Numeric/Log.hs +4/−6
- src/Numeric/Log/Signed.hs +0/−4
- tests/doctests.hsc +3/−4
.travis.yml view
@@ -1,18 +1,96 @@-language: haskell-before_install:- # Uncomment whenever hackage is down.- # - mkdir -p ~/.cabal && cp travis/config ~/.cabal/config && cabal update- - cabal update+# This file has been generated -- see https://github.com/hvr/multi-ghc-travis+language: c+sudo: false - # Try installing some of the build-deps with apt-get for speed.- - travis/cabal-apt-install $mode+cache:+ directories:+ - $HOME/.cabsnap+ - $HOME/.cabal/packages +before_cache:+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log+ - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar++matrix:+ include:+ - env: CABALVER=1.18 GHCVER=7.4.2+ compiler: ": #GHC 7.4.2"+ addons: {apt: {packages: [cabal-install-1.18,ghc-7.4.2,hlint], sources: [hvr-ghc]}}+ - env: CABALVER=1.18 GHCVER=7.6.3+ compiler: ": #GHC 7.6.3"+ addons: {apt: {packages: [cabal-install-1.18,ghc-7.6.3,hlint], sources: [hvr-ghc]}}+ - env: CABALVER=1.18 GHCVER=7.8.4+ compiler: ": #GHC 7.8.4"+ addons: {apt: {packages: [cabal-install-1.18,ghc-7.8.4,hlint], sources: [hvr-ghc]}}+ - env: CABALVER=1.24 GHCVER=7.10.3+ compiler: ": #GHC 7.10.3"+ addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3,hlint], sources: [hvr-ghc]}}+ - env: CABALVER=1.24 GHCVER=8.0.2+ compiler: ": #GHC 8.0.2"+ addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.2,hlint], sources: [hvr-ghc]}}+ - env: CABALVER=1.24 GHCVER=head+ compiler: ": #GHC head"+ addons: {apt: {packages: [cabal-install-1.24,ghc-head,hlint], sources: [hvr-ghc]}}++ allow_failures:+ - env: CABALVER=1.24 GHCVER=head++before_install:+ - unset CC+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH+ install:- - cabal configure -flib-Werror $mode- - cabal build+ - cabal --version+ - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"+ - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];+ then+ zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >+ $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;+ fi+ - travis_retry cabal update -v+ - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config+ - cabal install --only-dependencies --enable-tests --enable-benchmarks --dry -v > installplan.txt+ - sed -i -e '1,/^Resolving /d' installplan.txt; cat installplan.txt +# check whether current requested install-plan matches cached package-db snapshot+ - if diff -u installplan.txt $HOME/.cabsnap/installplan.txt;+ then+ echo "cabal build-cache HIT";+ rm -rfv .ghc;+ cp -a $HOME/.cabsnap/ghc $HOME/.ghc;+ cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;+ else+ echo "cabal build-cache MISS";+ rm -rf $HOME/.cabsnap;+ mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;+ cabal install -j --only-dependencies --enable-tests --enable-benchmarks;+ fi++# snapshot package-db on cache miss+ - if [ ! -d $HOME/.cabsnap ];+ then+ echo "snapshotting package-db to build-cache";+ mkdir $HOME/.cabsnap;+ cp -a $HOME/.ghc $HOME/.cabsnap/ghc;+ cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin installplan.txt $HOME/.cabsnap/;+ fi++# Here starts the actual work to be performed for the package under test;+# any command which exits with a non-zero exit code causes the build to fail. script:- - $script && hlint src --cpp-define HLINT+ - cabal configure -v2 --enable-tests --enable-benchmarks # -v2 provides useful information for debugging+ - cabal build # this builds all libraries and executables (including tests/benchmarks)+ - cabal test --show-details=always+ - cabal sdist # tests that a source-distribution can be generated+ - hlint src --cpp-define HLINT+ - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ;+ cd dist/;+ if [ -f "$SRC_TGZ" ]; then+ cabal install "$SRC_TGZ";+ else+ echo "expected '$SRC_TGZ' not found";+ exit 1;+ fi notifications: irc:@@ -20,7 +98,6 @@ - "irc.freenode.org#haskell-lens" skip_join: true template:- - "\x0313log-domain\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"+ - "\x0313log-domain\x0f/\x0306%{branch}\x0f \x0314%{commit}\x0f %{message} \x0302\x1f%{build_url}\x0f" -env:- - mode="--enable-tests" script="cabal test --show-details=always"+# EOF
CHANGELOG.markdown view
@@ -1,3 +1,11 @@+0.11+----+* Replace use of `Hashable1` from `hashable-extras` in favor of `Hashable` from+ `hashable-1.2.5.0`. As a result, the `hashable-extras` dependency has been removed.+* On Windows, we now use the FFI to link against the C math library if building with+ GHC 8.0 or later, which features a much improved runtime linker story.+* Remove `generic-deriving` dependency+ 0.10.3.1 -------- * Support `safecopy` 0.9
README.markdown view
@@ -1,16 +1,16 @@-log-===+log-domain+========== [](https://hackage.haskell.org/package/log-domain) [](http://travis-ci.org/ekmett/log-domain) -> What rolls down stairs alone or in pairs -> Rolls over your neighbor's dog? -> What's great for a snack and fits on your back? -> It's Log, Log, Log! +> What rolls down stairs alone or in pairs+> Rolls over your neighbor's dog?+> What's great for a snack and fits on your back?+> It's Log, Log, Log! -> It's Log, Log, it's big, it's heavy, it's wood. -> It's Log, Log, it's better than bad, it's good! -> Everyone wants a log! You're gonna love it, Log! +> It's Log, Log, it's big, it's heavy, it's wood.+> It's Log, Log, it's better than bad, it's good!+> Everyone wants a log! You're gonna love it, Log! > Come on and get your log! Everyone needs a Log!" > -- Ren & Stimpy, The Log Song
Setup.lhs view
@@ -41,6 +41,10 @@ withTestLBI pkg lbi $ \suite suitecfg -> do rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines [ "module Build_" ++ testName suite ++ " where"+ , ""+ , "autogen_dir :: String"+ , "autogen_dir = " ++ show dir+ , "" , "deps :: [String]" , "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg)) ]
log-domain.cabal view
@@ -1,6 +1,6 @@ name: log-domain category: Numeric-version: 0.10.3.1+version: 0.11 license: BSD3 cabal-version: >= 1.8 license-file: LICENSE@@ -11,7 +11,7 @@ bug-reports: http://github.com/ekmett/log-domain/issues copyright: Copyright (C) 2013-2015 Edward A. Kmett build-type: Custom-tested-with: GHC == 7.4.1, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2+tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2 synopsis: Log-domain arithmetic description: This package provides log-domain floats, doubles and complex numbers. @@ -42,27 +42,26 @@ library build-depends:- base >= 4.3 && < 5,- binary >= 0.5 && < 0.8,+ base >= 4.5 && < 5,+ binary >= 0.5 && < 0.9, bytes >= 0.7 && < 1, cereal >= 0.3.5 && < 0.6,- comonad >= 4 && < 5,+ comonad >= 4 && < 6, deepseq >= 1.3 && < 1.5, distributive >= 0.3 && < 1,- hashable >= 1.1.2.3 && < 1.3,- hashable-extras >= 0.2 && < 1,+ hashable >= 1.2.5 && < 1.3, semigroupoids >= 4 && < 6, semigroups >= 0.8.4 && < 1, safecopy >= 0.8.1 && < 0.10,- vector >= 0.9 && < 0.12+ vector >= 0.9 && < 0.13 exposed-modules: Numeric.Log Numeric.Log.Signed if impl(ghc < 7.6)- build-depends: generic-deriving >= 1.4 && < 1.9+ build-depends: ghc-prim - if flag(ffi) && !os(windows)+ if flag(ffi) && !(os(windows) && !impl(ghc >= 8.0)) cpp-options: -D__USE_FFI__ ghc-options: -Wall -fwarn-tabs -O2
src/Numeric/Log.hs view
@@ -38,7 +38,7 @@ import Data.Functor.Bind import Data.Functor.Extend import Data.Hashable-import Data.Hashable.Extras+import Data.Hashable.Lifted import Data.Int import Data.List as List hiding (sum) #if __GLASGOW_HASKELL__ < 710@@ -56,11 +56,7 @@ import Data.Vector.Generic.Mutable as M import Foreign.Ptr import Foreign.Storable-#if __GLASGOW_HASKELL__ < 706-import Generics.Deriving-#else import GHC.Generics-#endif import Text.Read as T import Text.Show as T @@ -124,7 +120,9 @@ hashWithSalt i (Exp a) = hashWithSalt i a {-# INLINE hashWithSalt #-} -instance Hashable1 Log+instance Hashable1 Log where+ liftHashWithSalt hws i (Exp a) = hws i a+ {-# INLINE liftHashWithSalt #-} instance Storable a => Storable (Log a) where sizeOf = sizeOf . ln
src/Numeric/Log/Signed.hs view
@@ -26,11 +26,7 @@ import Data.Monoid (Monoid(..)) #endif import Data.Data (Data(..))-#if __GLASGOW_HASKELL__ < 706-import Generics.Deriving (Generic(..))-#else import GHC.Generics (Generic(..))-#endif import Data.Typeable (Typeable) import Text.Read as T import Text.Show as T
tests/doctests.hsc view
@@ -15,7 +15,7 @@ ----------------------------------------------------------------------------- module Main where -import Build_doctests (deps)+import Build_doctests (autogen_dir, deps) import Control.Applicative import Control.Monad import Data.List@@ -54,11 +54,10 @@ main :: IO () main = withUnicode $ getSources >>= \sources -> doctest $ "-isrc"- : "-idist/build/autogen"+ : ("-i" ++ autogen_dir) : "-optP-include"- : "-optPdist/build/autogen/cabal_macros.h"+ : ("-optP" ++ autogen_dir ++ "/cabal_macros.h") : "-hide-all-packages"- : "-Iincludes" : map ("-package="++) deps ++ sources getSources :: IO [FilePath]