----------------------------------------------------------------------------- -- | -- Module : Numeric.Dimensions -- Copyright : (c) Artem Chirkin -- License : BSD3 -- -- Maintainer : chirkin@arch.ethz.ch -- -- Provides a set of data types to define and traverse through multiple dimensions. -- The core types are `Dims ds` and `Idxs ds`, which fix dimension sizes at compile time. -- -- Lower indices go first, i.e. assumed enumeration -- is i = i1 + i2*n1 + i3*n1*n2 + ... + ik*n1*n2*...*n(k-1). -- This is also to encourage column-first matrix enumeration and array layout. -- ----------------------------------------------------------------------------- module Numeric.Dimensions ( module Numeric.Dim , module Numeric.Dimensions.Dims , module Numeric.Dimensions.Idxs , module Numeric.Dimensions.Fold , module Numeric.Type.Evidence , module Numeric.Type.List ) where import Numeric.Dim import Numeric.Dimensions.Dims import Numeric.Dimensions.Idxs import Numeric.Dimensions.Fold import Numeric.Type.Evidence import Numeric.Type.List