Tensor 1.1.0.1 → 1.1.0.2
raw patch · 3 files changed
+26/−7 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Tensor: instance Applicative Vector1
- Data.Tensor: instance Applicative Vector2
- Data.Tensor: instance Applicative Vector3
- Data.Tensor: instance Applicative Vector4
- Data.Tensor: instance Applicative Vertex1
- Data.Tensor: instance Applicative Vertex2
- Data.Tensor: instance Applicative Vertex3
- Data.Tensor: instance Applicative Vertex4
- Data.Tensor: instance Bounded a => Bounded (Vector1 a)
- Data.Tensor: instance Bounded a => Bounded (Vector2 a)
- Data.Tensor: instance Bounded a => Bounded (Vector3 a)
- Data.Tensor: instance Bounded a => Bounded (Vector4 a)
- Data.Tensor: instance Bounded a => Bounded (Vertex1 a)
- Data.Tensor: instance Bounded a => Bounded (Vertex2 a)
- Data.Tensor: instance Bounded a => Bounded (Vertex3 a)
- Data.Tensor: instance Bounded a => Bounded (Vertex4 a)
- Data.Tensor: instance Eq a => Eq (Vector1 a)
- Data.Tensor: instance Eq a => Eq (Vector2 a)
- Data.Tensor: instance Eq a => Eq (Vector3 a)
- Data.Tensor: instance Eq a => Eq (Vector4 a)
- Data.Tensor: instance Eq a => Eq (Vertex1 a)
- Data.Tensor: instance Eq a => Eq (Vertex2 a)
- Data.Tensor: instance Eq a => Eq (Vertex3 a)
- Data.Tensor: instance Eq a => Eq (Vertex4 a)
- Data.Tensor: instance Foldable Vector1
- Data.Tensor: instance Foldable Vector2
- Data.Tensor: instance Foldable Vector3
- Data.Tensor: instance Foldable Vector4
- Data.Tensor: instance Foldable Vertex1
- Data.Tensor: instance Foldable Vertex2
- Data.Tensor: instance Foldable Vertex3
- Data.Tensor: instance Foldable Vertex4
- Data.Tensor: instance Functor Vector1
- Data.Tensor: instance Functor Vector2
- Data.Tensor: instance Functor Vector3
- Data.Tensor: instance Functor Vector4
- Data.Tensor: instance Functor Vertex1
- Data.Tensor: instance Functor Vertex2
- Data.Tensor: instance Functor Vertex3
- Data.Tensor: instance Functor Vertex4
- Data.Tensor: instance Ix a => Ix (Vector1 a)
- Data.Tensor: instance Ix a => Ix (Vector2 a)
- Data.Tensor: instance Ix a => Ix (Vector3 a)
- Data.Tensor: instance Ix a => Ix (Vector4 a)
- Data.Tensor: instance Ix a => Ix (Vertex1 a)
- Data.Tensor: instance Ix a => Ix (Vertex2 a)
- Data.Tensor: instance Ix a => Ix (Vertex3 a)
- Data.Tensor: instance Ix a => Ix (Vertex4 a)
- Data.Tensor: instance Ord a => Ord (Vector1 a)
- Data.Tensor: instance Ord a => Ord (Vector2 a)
- Data.Tensor: instance Ord a => Ord (Vector3 a)
- Data.Tensor: instance Ord a => Ord (Vector4 a)
- Data.Tensor: instance Ord a => Ord (Vertex1 a)
- Data.Tensor: instance Ord a => Ord (Vertex2 a)
- Data.Tensor: instance Ord a => Ord (Vertex3 a)
- Data.Tensor: instance Ord a => Ord (Vertex4 a)
- Data.Tensor: instance Read a => Read (Vector1 a)
- Data.Tensor: instance Read a => Read (Vector2 a)
- Data.Tensor: instance Read a => Read (Vector3 a)
- Data.Tensor: instance Read a => Read (Vector4 a)
- Data.Tensor: instance Read a => Read (Vertex1 a)
- Data.Tensor: instance Read a => Read (Vertex2 a)
- Data.Tensor: instance Read a => Read (Vertex3 a)
- Data.Tensor: instance Read a => Read (Vertex4 a)
- Data.Tensor: instance Show a => Show (Vector1 a)
- Data.Tensor: instance Show a => Show (Vector2 a)
- Data.Tensor: instance Show a => Show (Vector3 a)
- Data.Tensor: instance Show a => Show (Vector4 a)
- Data.Tensor: instance Show a => Show (Vertex1 a)
- Data.Tensor: instance Show a => Show (Vertex2 a)
- Data.Tensor: instance Show a => Show (Vertex3 a)
- Data.Tensor: instance Show a => Show (Vertex4 a)
- Data.Tensor: instance Storable a => Storable (Vector1 a)
- Data.Tensor: instance Storable a => Storable (Vector2 a)
- Data.Tensor: instance Storable a => Storable (Vector3 a)
- Data.Tensor: instance Storable a => Storable (Vector4 a)
- Data.Tensor: instance Storable a => Storable (Vertex1 a)
- Data.Tensor: instance Storable a => Storable (Vertex2 a)
- Data.Tensor: instance Storable a => Storable (Vertex3 a)
- Data.Tensor: instance Storable a => Storable (Vertex4 a)
- Data.Tensor: instance Traversable Vector1
- Data.Tensor: instance Traversable Vector2
- Data.Tensor: instance Traversable Vector3
- Data.Tensor: instance Traversable Vector4
- Data.Tensor: instance Traversable Vertex1
- Data.Tensor: instance Traversable Vertex2
- Data.Tensor: instance Traversable Vertex3
- Data.Tensor: instance Traversable Vertex4
- Data.Tensor: instance Typeable Vector1
- Data.Tensor: instance Typeable Vector2
- Data.Tensor: instance Typeable Vector3
- Data.Tensor: instance Typeable Vector4
- Data.Tensor: instance Typeable Vertex1
- Data.Tensor: instance Typeable Vertex2
- Data.Tensor: instance Typeable Vertex3
- Data.Tensor: instance Typeable Vertex4
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vector1
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vector2
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vector3
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vector4
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vertex1
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vertex2
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vertex3
+ Data.Tensor: instance Data.Foldable.Foldable Data.Tensor.Vertex4
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vector1
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vector2
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vector3
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vector4
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vertex1
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vertex2
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vertex3
+ Data.Tensor: instance Data.Traversable.Traversable Data.Tensor.Vertex4
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vector1 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vector2 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vector3 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vector4 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vector1
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vector2
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vector3
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vector4
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vertex1
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vertex2
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vertex3
+ Data.Tensor: instance GHC.Base.Applicative Data.Tensor.Vertex4
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vector1
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vector2
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vector3
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vector4
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vertex1
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vertex2
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vertex3
+ Data.Tensor: instance GHC.Base.Functor Data.Tensor.Vertex4
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Read.Read a => GHC.Read.Read (Data.Tensor.Vertex4 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vector1 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vector2 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vector3 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vector4 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vertex1 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vertex2 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vertex3 a)
+ Data.Tensor: instance GHC.Show.Show a => GHC.Show.Show (Data.Tensor.Vertex4 a)
Files
- LICENSE +1/−1
- Tensor.cabal +19/−3
- src/Data/Tensor.hs +6/−3
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2014, Sven Panne+Copyright (c) 2014-2018, Sven Panne All rights reserved. Redistribution and use in source and binary forms, with or without
Tensor.cabal view
@@ -1,5 +1,5 @@ name: Tensor-version: 1.1.0.1+version: 1.1.0.2 synopsis: Tensor data types description: This package contains tensor data types and their instances for some basic@@ -12,15 +12,31 @@ maintainer: Sven Panne <svenpanne@gmail.com> category: Data build-type: Simple-cabal-version: >=1.10+tested-with:+ GHC == 7.0.4+ GHC == 7.2.2+ GHC == 7.4.2+ GHC == 7.6.3+ GHC == 7.8.4+ GHC == 7.10.3+ GHC == 8.0.2+ GHC == 8.2.2+ GHC == 8.4.3+ GHC == 8.6.1+ GHC == 8.7.*+cabal-version: >= 1.10 library exposed-modules: Data.Tensor build-depends: base >= 3 && < 5 default-language: Haskell2010- other-extensions: DeriveDataTypeable+ other-extensions:+ CPP+ DeriveDataTypeable hs-Source-Dirs: src ghc-options: -Wall+ if impl(ghc > 8)+ ghc-options: -Wcompat source-repository head type: git
src/Data/Tensor.hs view
@@ -1,8 +1,8 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable #-} -------------------------------------------------------------------------------- -- | -- Module : Data.Tensor--- Copyright : (c) Sven Panne 2014+-- Copyright : (c) Sven Panne 2014-2018 -- License : BSD3 -- -- Maintainer : Sven Panne <svenpanne@gmail.com>@@ -19,9 +19,12 @@ Vector1(..), Vector2(..), Vector3(..), Vector4(..) ) where +#if !MIN_VERSION_base(4,8,0) import Control.Applicative ( Applicative(..) )+import Data.Foldable ( Foldable(..) )+#endif import Control.Monad ( ap )-import Data.Foldable ( Foldable(..), foldlM )+import Data.Foldable ( foldlM ) import Data.Ix ( Ix ) import Data.Traversable ( Traversable(..), mapAccumL ) import Data.Typeable ( Typeable )