úÎ?;Ç+      !"#$%&'()*None@A number of additional operations that are useful together with  PrimitiveArrays. Dsubtract the right coordinates from the left. Does not check if the  resulting shape make sense. @Given an index and an extend, return a list of all indices. For  rangeList (Z:.3) (Z:.2) this returns [(Z:.3), (Z:.4), (Z:.5)]. +,+,None-./01-./01NoneA subword wraps a simple pair. ISubwords always yield the upper-triangular part of a rect-angular array. > This gives the quite curious effect that (0,N) points to the `largest' N index, while (0,0) and (N,N) both point to the smallest. We do, however, use L (0,0) as the smallest as (0,k) gives successively smaller upper triangular  parts. triangular numbers A000217 &Size of an upper triangle starting at i and ending at j. (0,N) what  be the normal thing to use. ESubword indexing. Given the longest subword and the current subword,  calculate a linear index [0,..]. (l,n) in this case means l ower bound,  length n. And (i,j) is the normal index. TODO probably doesn'#t work right with non-zero base ?! 2ESome weird things are going on here. Adding subwords (i,j) and (k,l) L yields (i+k,j+l). Normally i==k==0 when calculating space requirements. If N you have a subword (3,10) and want the next outer one add (-1,1) and you get I what you want. We make NO(!) check that the final subword contains only  non-negative indices.  345627 89   345627None<Map a function over each element, keeping the shape intact. /The core set of functions on immutable arrays. BReturns the bounds of an immutable array, again inclusive bounds:  [lb..ub] . IFreezes a mutable array an returns its immutable version. This operation  is O(1)? and both arrays share the same memory. Do not use the mutable  array afterwards. AExtract a single element from the array. Generally unsafe as not  bounds-checking is performed. /The core set of operations for monadic arrays. @Return the bounds of the array. All bounds are inclusive, as in  [lb..ub] +Given lower and upper bounds and a list of all elements, produce a  mutable array. GCreates a new array with the given bounds with each element within the $ array being in an undefined state. 5Creates a new array with all elements being equal to elm. %Reads a single element in the array. &Writes a single element in the array. Mutable version of an array. GInfix index operator. Performs minimal bounds-checking using assert in  non-optimized code. 2Returns true if the index is valid for the array. IGiven two arrays with the same dimensionality, their respective starting L index, and how many steps to go in each dimension (in terms of a dimension I again), determine if the multidimensional slices have the same value at  all positions .TODO specialize for DIM1 (and maybe higher dim's) to use memcmp GConstruct a mutable primitive array from a lower and an upper bound, a . default element, and a list of associations. 'Return all associations from an array. !KCreates an immutable array from lower and upper bounds and a complete list  of elements. "KCreates an immutable array from lower and upper bounds, a default element,  and a list of associations. #=Determines if an index is valid for a given immutable array. $6Returns all elements of an immutable array as a list.  !"#$ !"#$ !"#$  !"#$None%JDefines how a single index in a stack of arrays + evaluation functions is  handled. :1TODO Insert check that all extends are the same! %&'(;<:%&'('(%&%&'(;<:None)*=>?)*@)*)*=>?A         !"#$%&'()*+,--./012.33045.6789:;<=>?@PrimitiveArray-0.5.0.0Data.Array.Repa.ExtShapeData.Array.Repa.Index.PointData.Array.Repa.Index.SubwordData.PrimitiveArrayData.PrimitiveArray.FillTablesData.PrimitiveArray.ZeroExtShapesubDim rangeListPointstageSubwordsubwordtriangularNumberupperTri subwordIndexsubwordFromIndex PrimArrayMapmap PrimArrayOpsboundsfreezeindex MPrimArrayOpsboundsM fromListMnewMnewWithMreadMwriteMMutArr! inBoundsMsliceEq fromAssocsMassocsfromList fromAssocsinBoundstoListStack writeStack UpperTriS upperTriSUnboxed $fExtShape:. $fExtShapeZ $fArbitrary:.$fArbitraryPoint $fNFDataPoint $fShape:.$fArbitrarySubword$fNFDataSubword$fUnboxSubword V_Subword MV_Subword$fUpperTriSm:.$fStackmSubword:. $fStackmshZ$fPrimArrayMapUnboxedshee'$fPrimArrayOpsUnboxedshelm$fMPrimArrayOpsUnboxedshelmMUnboxed