.ݡ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredStrict identity monad <Vector parametrized by length. In ideal world it should be:  C forall n. (Arity n, Vector (v n) a, Dim (v n) ~ n) => VectorN v a !Alas polymorphic constraints aren't allowed in haskell. *Type class for vectors with fixed length. (N-ary function for creation of vectors. Deconstruction of vector. 0Size of vector expressed as type-level natural. Type class for handling n-ary functions. Left fold over n% elements exposed as n-ary function. Monadic left fold. &Apply all parameters to the function. Monadic apply Arity of function. &Newtype wrapper which is used to make  injective. !Type family for n-ary functions. Successor of n Type level zero  Length of vector. Function doesn't evaluate its argument. % Fold function Extract result of fold Initial value Reduction function Fold function Extract result of fold Initial value Reduction function Get value to apply to function Initial value N-ary function Get value to apply to function Initial value N-ary function    None(<Vector based on the lists. Not very useful by itself but is ! necessary for implementation. 0Vector as continuation without monadic context. $Vector represented as continuation. 'Convert regular vector to continuation ?Convert list to continuation-based vector. Will throw error if * list is shorter than resulting vector. @Execute monadic action for every element of vector. Synonym for . 4Execute monadic action for every element of vector. !0Generate vector from function which maps element's index to its value. "8Generate vector from monadic function which maps element's index  to its value. #Unit vector along Nth axis. )Map over vector. Synonym for  *=Apply function to every element of the vector and its index. +Monadic map over vector. ,EApply monadic function to every element of the vector and its index. -O(1) Tail of vector. .O(1) Prepend element to vector /(Zip two vector together using function. 0AZip two vector together using function which takes element index  as well. 10Zip two vector together using monadic function. 2CZip two vector together using monadic function which takes element  index as well.. 35Run continuation vector using non-monadic finalizer. 41Run continuation vector using monadic finalizer. 5Run continuation vector. 6$Convert continuation to the vector. 7$Convert continuation to the vector. 83Finalizer function for getting head of the vector. 9$Left fold over continuation vector. :$Left fold over continuation vector. ;,Monadic left fold over continuation vector. <,Monadic left fold over continuation vector. = Left fold. >$Right fold over continuation vector ?$Right fold over continuation vector @ Sum all elements in the vector. AMinimal element of vector. BMaximal element of vector. C%Conjunction of elements of a vector. D)Disjunction of all elements of a vector. E=Determines whether all elements of vector satisfy predicate. F?Determines whether any of element of vector satisfy predicate. O !"#$%&'()*+,-./0123finalizer function vector 4finalizer function vector 56789:;<=>?@ABCDEF3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF3 !"#$%&'()*+,-./0123458679=>:?;<@ABCDEFA !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNoneG!Type class for immutable vectors H>Convert vector to immutable state. Mutable vector must not be  modified afterwards. I?Convert immutable vector to mutable. Immutable vector must not  be used afterwards. JGet element at specified index KType class for mutable vectors LChecks whether vectors' buffers overlaps M;Copy vector. The two vectors may not overlap. Since vectors' E length is encoded in the type there is no need in runtime checks. N7Copy vector. The two vectors may overlap. Since vectors' length > is encoded in the type there is no need in runtime checks. OAllocate new vector P*Read value at index without bound checks. Q+Write value at index without bound checks. RDimension for mutable vector S+Mutable counterpart of fixed-length vector TLength of mutable vector U Clone vector V'Read value at index with bound checks. W(Write value at index with bound checks. XLength of immutable vector Z,Safely convert mutable vector to immutable. [,Safely convert immutable vector to mutable. \Generic inspect ]Generic construct GHIJKLMTarget Source NTarget Source OPQRSTUVWXYZ[\]GHIJKLMNOPQRSTUVWXYZ[\]SRKLMNOPQTVWUGHIJYXZ[]\GHIJKLMNOPQRSTUVWXYZ[\]None)^;Generic function for construction of arbitrary vectors. It 1 represents partially constructed vector where n is number of  uninitialized elements, v is type of vector and a element type. ,Uninitialized vector could be obtained from ` and vector 4 elements could be added from left to right using a operator. 1 Finally it could be converted to vector using _ function. HConstruction of complex number which could be seen as 2-element vector: import Data.Complex%vec $ con |> 1 |> 3 :: Complex Double 1.0 :+ 3.0_,Convert fully applied constructor to vector `Seed constructor a Apply another element to vector gReplicate value n times.  Examples: %import Data.Vector.Fixed.Boxed (Vec2)replicate 1 :: Vec2 IntfromList [1,1]%replicate 2 :: (Double,Double,Double) (2.0,2.0,2.0)$import Data.Vector.Fixed.Boxed (Vec) replicate "foo" :: Vec N5 String(fromList ["foo","foo","foo","foo","foo"]h4Execute monadic action for every element of vector.  Examples: *import Data.Vector.Fixed.Boxed (Vec2,Vec3)'replicateM (Just 3) :: Maybe (Vec3 Int)Just fromList [3,3,3]+replicateM (putStrLn "Hi!") :: IO (Vec2 ())Hi!Hi!fromList [(),()]i;Unit vector along Nth axis. If index is larger than vector # dimensions returns zero vector.  Examples: %import Data.Vector.Fixed.Boxed (Vec3)basis 0 :: Vec3 IntfromList [1,0,0]basis 1 :: Vec3 IntfromList [0,1,0]basis 3 :: Vec3 IntfromList [0,0,0]j0Generate vector from function which maps element's index to its  value.  Examples: &import Data.Vector.Fixed.Unboxed (Vec)generate (^2) :: Vec N4 IntfromList [0,1,4,9]k8Generate vector from monadic function which maps element's index  to its value. lFirst element of vector.  Examples: %import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Inthead x1mTail of vector.  Examples: import Data.Complextail (1,2,3) :: Complex Double 2.0 :+ 3.0nLeft fold over vector oLeft fold over vector pLeft fold over vector qLeft fold over vector r?Left fold over vector. Function is applied to each element and  its index. sMonadic fold over vector. tGLeft monadic fold over vector. Function is applied to each element and  its index. u Sum all elements in the vector. vMaximal element of vector.  Examples: %import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Int maximum x3wMinimal element of vector.  Examples: %import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Int minimum x1x)Conjunction of all elements of a vector. y)Disjunction of all elements of a vector. z=Determines whether all elements of vector satisfy predicate. {?Determines whether any of element of vector satisfy predicate. |Test two vectors for equality.  Examples: %import Data.Vector.Fixed.Boxed (Vec2)let v0 = basis 0 :: Vec2 Intlet v1 = basis 1 :: Vec2 Int v0 `eq` v0True v0 `eq` v1False}Map over vector ~8Evaluate every action in the vector from left to right. IEvaluate every action in the vector from left to right and ignore result Monadic map over vector. BApply monadic action to each element of vector and ignore result. =Apply function to every element of the vector and its index. EApply monadic function to every element of the vector and its index. >Apply monadic function to every element of the vector and its  index and discard result. (Zip two vector together using function.  Examples: %import Data.Vector.Fixed.Boxed (Vec3)let b0 = basis 0 :: Vec3 Intlet b1 = basis 1 :: Vec3 Intlet b2 = basis 2 :: Vec3 Intlet vplus x y = zipWith (+) x y vplus b0 b1fromList [1,1,0] vplus b0 b2fromList [1,0,1] vplus b1 b2fromList [0,1,1]0Zip two vector together using monadic function. AZip two vector together using function which takes element index  as well. CZip two vector together using monadic function which takes element  index as well.. 'Convert between different vector types Convert vector to the list BCreate vector form list. Will throw error if list is shorter than  resulting vector. 0^_`abcdefghijklmnopqrstuvwxyz{|}~@^_`abcdefghijklmnopqrstuvwxyz{|}~@bcdef^_`aghijklm|}~noprqstuvwxyz{/^_`abcdefghijklmnopqrstuvwxyz{|}~None)Mutable unboxed vector with fixed length 3Vector with fixed length which can hold any value.  None)Mutable unboxed vector with fixed length !Unboxed vector with fixed length  NoneA      !"#A      !"#None0Storable-based mutable vector with fixed length (Storable-based vector with fixed length BGet underlying pointer. Data may not be modified through pointer. 'Construct vector from foreign pointer. $%&'()*+,$%&'()*+,-       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh+,-./&'*()?4@EDFABCGIHJKLMi0jk2l13m6879no%pqrspqrstpqrspqrrsuvwxxyz{|}~!#ersrssfixed-vector-0.2.0.0Data.Vector.Fixed.InternalData.Vector.Fixed.ContData.Vector.Fixed.MutableData.Vector.FixedData.Vector.Fixed.BoxedData.Vector.Fixed.PrimitiveData.Vector.Fixed.UnboxedData.Vector.Fixed.StorableIdrunIDVectorNVector constructinspectDimArityaccumaccumMapplyapplyMarityFunFnN6N5N4N3N2N1SZlengthVecListContVecContVecTcvecfromList replicate replicateMgenerate generateMbasismk1mk2mk3mk4mk5mapimapmapMimapMtailconszipWithizipWithzipWithM izipWithM runContVecT runContVecM runContVecvectorvectorMheadfoldlifoldlfoldMifoldMfoldl1foldrifoldrsumminimummaximumandorallanyIVector unsafeFreeze unsafeThaw unsafeIndexMVectoroverlapscopymovenew unsafeRead unsafeWriteDimMMutablelengthMclonereadwritelengthIindexfreezethaw inspectVec constructVecNewveccon|>eqsequence sequence_mapM_imapM_converttoListVec3Vec2MVecVecUnboxunsafeToForeignPtrunsafeFromForeignPtr unsafeWithT_fmap$fVector(,,,,)a$fVector(,,,)a $fVector(,,)a $fVector(,)a$fVectorComplexa $fMonadId$fArityS$fArityZ $fFunctorFunbaseControl.ApplicativepureGHC.BasefmapT_listFlipT_ifoldrT_foldl1T_ifoldlT_headT_izipT_mapT_basis T_generate T_replicateT_flistimapFimapFM izipWithF izipWithFM$fVectorNVecListna$fVectorVecLista$fApplicativeContVecT$fFunctorContVecTT_newT_idxstepf2n uninitialised$fEqVec$fVectorNVecna $fVectorVeca $fIVectorVeca$fMVectorMVeca $fShowVecfromBooltoBool$fIVectorVec(,,)$fMVectorMVec(,,) $fUnboxn(,,)$fIVectorVec(,)$fMVectorMVec(,) $fUnboxn(,)$fIVectorVecComplex$fMVectorMVecComplex$fUnboxnComplex$fIVectorVecDouble$fMVectorMVecDouble$fUnboxnDouble$fIVectorVecFloat$fMVectorMVecFloat $fUnboxnFloat$fIVectorVecChar$fMVectorMVecChar $fUnboxnChar$fIVectorVecWord64$fMVectorMVecWord64$fUnboxnWord64$fIVectorVecWord32$fMVectorMVecWord32$fUnboxnWord32$fIVectorVecWord16$fMVectorMVecWord16$fUnboxnWord16$fIVectorVecWord8$fMVectorMVecWord8 $fUnboxnWord8$fIVectorVecWord$fMVectorMVecWord $fUnboxnWord$fIVectorVecInt64$fMVectorMVecInt64 $fUnboxnInt64$fIVectorVecInt32$fMVectorMVecInt32 $fUnboxnInt32$fIVectorVecInt16$fMVectorMVecInt16 $fUnboxnInt16$fIVectorVecInt8$fMVectorMVecInt8 $fUnboxnInt8$fIVectorVecInt$fMVectorMVecInt $fUnboxnInt$fIVectorVecBool$fMVectorMVecBool $fUnboxnBool$fIVectorVec()$fMVectorMVec() $fUnboxn() mallocVectorgetPtr