Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 1686

ghc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Data.Array.Parallel.Unlifted.Sequential</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Data-Array-Parallel-Unlifted-Sequential.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>dph-prim-seq-0.3: Sequential Primitives for Data-Parallel Haskell.</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Data.Array.Parallel.Unlifted.Sequential</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Array classes
</A
></DT
><DT
><A HREF="#2"
>Array types
</A
></DT
><DT
><A HREF="#3"
>Basic operations
</A
></DT
><DT
><A HREF="#4"
>Subarrays
</A
></DT
><DT
><A HREF="#5"
>Permutations
</A
></DT
><DT
><A HREF="#6"
>Higher-order operations
</A
></DT
><DT
><A HREF="#7"
>Segmented Subarrays
</A
></DT
><DT
><A HREF="#8"
>Searching
</A
></DT
><DT
><A HREF="#9"
>Logical operations
</A
></DT
><DT
><A HREF="#10"
>Arithmetic operations
</A
></DT
><DT
><A HREF="#11"
>Arrays of pairs
</A
></DT
><DT
><A HREF="#12"
>Enumerations
</A
></DT
><DT
><A HREF="#13"
>Searching
</A
></DT
><DT
><A HREF="#14"
>Conversions to/from lists
</A
></DT
><DT
><A HREF="#15"
>Unlifted.Sequential arrays
</A
></DT
><DT
><A HREF="#16"
>I/O
</A
></DT
><DT
><A HREF="#17"
>Segmentation
</A
></DT
><DT
><A HREF="#18"
>Basic operations (segmented)
</A
></DT
><DT
><A HREF="#19"
>Basic operations lifted
</A
></DT
><DT
><A HREF="#20"
>Zipping (segmented)
</A
></DT
><DT
><A HREF="#21"
>Permutations (segmented)
</A
></DT
><DT
><A HREF="#22"
>Higher-order operations (segmented)
</A
></DT
><DT
><A HREF="#23"
>Logical operations (segmented)
</A
></DT
><DT
><A HREF="#24"
>Arithmetic operations (segmented)
</A
></DT
><DT
><A HREF="#25"
>Enumerations (segmented)
</A
></DT
><DT
><A HREF="#26"
>Conversions to/from lists (segmented)
</A
></DT
><DT
><A HREF="#27"
>Segment descriptors
</A
></DT
><DT
><A HREF="#28"
>Mutable arrays
</A
></DT
><DT
><A HREF="#29"
>Library id
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>(c) [2006..2007] Manuel M T Chakravarty &amp; Roman Leshchinskiy
 License     : see libraries<EM
>ndp</EM
>LICENSE
</P
><P
>Maintainer  : Roman Leshchinskiy <A HREF="rl@cse.unsw.edu.au"
>rl@cse.unsw.edu.au</A
>
 Stability   : experimental
 Portability : portable
</P
><P
>Description ---------------------------------------------------------------
</P
><P
>External interface to unlifted arrays.
</P
><P
>Todo ----------------------------------------------------------------------
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AHS"
>HS</A
> e =&gt; <A HREF="#t%3AUA"
>UA</A
> e  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AUArr"
>UArr</A
> e </TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AMUArr"
>MUArr</A
> e :: * -&gt; *</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthU"
>lengthU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsliceU"
>sliceU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMU"
>newMU</A
> ::  <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhasAtomicWriteMU"
>hasAtomicWriteMU</A
> :: e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcopyMU"
>copyMU</A
> ::  <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AUSegd"
>USegd</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnullU"
>nullU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyU"
>emptyU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsingletonU"
>singletonU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AconsU"
>consU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitsU"
>unitsU</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreplicateU"
>replicateU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreplicateEachU"
>replicateEachU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%21%3A"
>(!:)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2B%3A%2B"
>(+:+)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexedU"
>indexedU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArepeatU"
>repeatU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextractU"
>extractU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtailU"
>tailU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtakeU"
>takeU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdropU"
>dropU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsplitAtU"
>splitAtU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApermuteU"
>permuteU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbpermuteU"
>bpermuteU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbpermuteDftU"
>bpermuteDftU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreverseU"
>reverseU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AupdateU"
>updateU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapU"
>mapU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e') =&gt; (e -&gt; e') -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e'</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWithU"
>zipWithU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c) =&gt; (a -&gt; b -&gt; c) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWith3U"
>zipWith3U</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> d) =&gt; (a -&gt; b -&gt; c -&gt; d) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> c -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> d</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfilterU"
>filterU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApackU"
>packU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldlU"
>foldlU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afoldl1U"
>foldl1U</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afoldl1MaybeU"
>foldl1MaybeU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldU"
>foldU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afold1U"
>fold1U</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afold1MaybeU"
>fold1MaybeU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AscanlU"
>scanlU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ascanl1U"
>scanl1U</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AscanU"
>scanU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ascan1U"
>scan1U</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AscanResU"
>scanResU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapAccumLU"
>mapAccumLU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (c -&gt; a -&gt; c <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; c -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfilterSU"
>filterSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApackCU"
>packCU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineU"
>combineU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineSU"
>combineSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineCU"
>combineCU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsliceSU"
>sliceSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextractSU"
>extractSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtakeCU"
>takeCU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdropCU"
>dropCU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemU"
>elemU</A
> :: (<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnotElemU"
>notElemU</A
> :: (<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AandU"
>andU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AorU"
>orU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AanyU"
>anyU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallU"
>allU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsumU"
>sumU</A
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AproductU"
>productU</A
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaximumU"
>maximumU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminimumU"
>minimumU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaximumByU"
>maximumByU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminimumByU"
>minimumByU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaximumIndexU"
>maximumIndexU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminimumIndexU"
>minimumIndexU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaximumIndexByU"
>maximumIndexByU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminimumIndexByU"
>minimumIndexByU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipU"
>zipU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Azip3U"
>zip3U</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e1, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e2, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e3) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e1 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e2 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e3 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> ((e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e3)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunzipU"
>unzipU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunzip3U"
>unzip3U</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e1, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e2, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e3) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> ((e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e3) -&gt; (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e3</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfstU"
>fstU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsndU"
>sndU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromToU"
>enumFromToU</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromThenToU"
>enumFromThenToU</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromStepLenU"
>enumFromStepLenU</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromToEachU"
>enumFromToEachU</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindU"
>findU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindIndexU"
>findIndexU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoU"
>toU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; [e] -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromU"
>fromU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; [e]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArandomU"
>randomU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="../random/System-Random.html#t%3ARandom"
>Random</A
> a, <A HREF="../random/System-Random.html#t%3ARandomGen"
>RandomGen</A
> g) =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; g -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArandomRU"
>randomRU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="../random/System-Random.html#t%3ARandom"
>Random</A
> a, <A HREF="../random/System-Random.html#t%3ARandomGen"
>RandomGen</A
> g) =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; (a, a) -&gt; g -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="#t%3AUIO"
>UIO</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AhPutU"
>hPutU</A
> :: <A HREF="../base/System-IO.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhGetU"
>hGetU</A
> :: <A HREF="../base/System-IO.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AconcatSU"
>concatSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AflattenSU"
>flattenSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3E%3A"
>(&gt;:)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsegmentU"
>segmentU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e', <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e' -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsegmentArrU"
>segmentArrU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsegdSU"
>segdSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthSU"
>lengthSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsingletonSU"
>singletonSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreplicateSU"
>replicateSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreplicateCU"
>replicateCU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2B%3A%2B%5E"
>(+:+^)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexedSU"
>indexedSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%5E%2B%3A%2B%5E"
>(^+:+^)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%21%3A%5E"
>(!:^)</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthsSU"
>lengthsSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindicesSU"
>indicesSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfstSU"
>fstSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsndSU"
>sndSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipSU"
>zipSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbpermuteSU"
>bpermuteSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbpermuteSU%27"
>bpermuteSU'</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapSU"
>mapSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (a -&gt; b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWithSU"
>zipWithSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c) =&gt; (a -&gt; b -&gt; c) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldlSU"
>foldlSU</A
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldSU"
>foldSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afold1SU"
>fold1SU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AandSU"
>andSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AorSU"
>orSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsumSU"
>sumSU</A
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AproductSU"
>productSU</A
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaximumSU"
>maximumSU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminimumSU"
>minimumSU</A
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromToSU"
>enumFromToSU</A
> :: (<A HREF="../base/Prelude.html#t%3AEnum"
>Enum</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AenumFromThenToSU"
>enumFromThenToSU</A
> :: (<A HREF="../base/Prelude.html#t%3AEnum"
>Enum</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoSU"
>toSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; [[e]] -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromSU"
>fromSU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; [[e]]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthsUSegd"
>lengthsUSegd</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthsToUSegd"
>lengthsToUSegd</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoUSegd"
>toUSegd</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromUSegd"
>fromUSegd</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewU"
>newU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> s.  <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApermuteMU"
>permuteMU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AatomicUpdateMU"
>atomicUpdateMU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e) -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeFreezeAllMU"
>unsafeFreezeAllMU</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>idstr</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>name</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>versnum</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>date</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>version</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>copyright</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>disclaimer</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlengthU%27"
>lengthU'</A
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Array classes
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AHS"
>HS</A
> e =&gt; <A NAME="t:UA"
><A NAME="t%3AUA"
></A
></A
><B
>UA</B
> e  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Basic operations on representation types
 -----------------------------------------
</P
><P
>This type class determines the types that can be elements immutable
 unboxed arrays. The representation type of these arrays is defined by way
 of an associated type.  All representation-dependent functions are methods
 of this class.
</P
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Associated Types</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t:UArr"
><A NAME="t%3AUArr"
></A
></A
><B
>UArr</B
> e </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t:MUArr"
><A NAME="t%3AMUArr"
></A
></A
><B
>MUArr</B
> e :: * -&gt; *</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:lengthU"
><A NAME="v%3AlengthU"
></A
></A
><B
>lengthU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Yield the length of an unboxed array
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sliceU"
><A NAME="v%3AsliceU"
></A
></A
><B
>sliceU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Restrict access to a subrange of the original array (no copying)
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMU"
><A NAME="v%3AnewMU"
></A
></A
><B
>newMU</B
> ::  <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s)</TD
></TR
><TR
><TD CLASS="doc"
>Allocate a mutable unboxed array
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hasAtomicWriteMU"
><A NAME="v%3AhasAtomicWriteMU"
></A
></A
><B
>hasAtomicWriteMU</B
> :: e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Indicate whether the type supports atomic updates
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:copyMU"
><A NAME="v%3AcopyMU"
></A
></A
><B
>copyMU</B
> ::  <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Copy the contents of an immutable unboxed array into a mutable one
 from the specified position on
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UA')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:UA" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Array types
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:USegd"
><A NAME="t%3AUSegd"
></A
></A
><B
>USegd</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Segment descriptors represent the structure of nested arrays. For each
 segment, it stores the length and the starting index in the flat data
 array.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:USegd')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:USegd" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SUArr"
><A NAME="t%3ASUArr"
></A
></A
><B
>SUArr</B
> e </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Segmented arrays
 -----------------
</P
><P
>Segmented arrays (only one level of segmentation)
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SUArr')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SUArr" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>(<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="../base/Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Basic operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:nullU"
><A NAME="v%3AnullU"
></A
></A
><B
>nullU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test whether the given array is empty
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyU"
><A NAME="v%3AemptyU"
></A
></A
><B
>emptyU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield an empty array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:singletonU"
><A NAME="v%3AsingletonU"
></A
></A
><B
>singletonU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield a singleton array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:consU"
><A NAME="v%3AconsU"
></A
></A
><B
>consU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Prepend an element to an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitsU"
><A NAME="v%3AunitsU"
></A
></A
><B
>unitsU</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Basic operations on unboxed arrays
 -----------------------------------
</P
><P
>Yield an array of units 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:replicateU"
><A NAME="v%3AreplicateU"
></A
></A
><B
>replicateU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield an array where all elements contain the same value
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:replicateEachU"
><A NAME="v%3AreplicateEachU"
></A
></A
><B
>replicateEachU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:!:"
><A NAME="v%3A%21%3A"
></A
></A
><B
>(!:)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Array indexing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:+:+"
><A NAME="v%3A%2B%3A%2B"
></A
></A
><B
>(+:+)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Concatenate two arrays
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexedU"
><A NAME="v%3AindexedU"
></A
></A
><B
>indexedU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e)</TD
></TR
><TR
><TD CLASS="doc"
><P
>Indexing
 ---------
</P
><P
>Associate each element of the array with its index
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:repeatU"
><A NAME="v%3ArepeatU"
></A
></A
><B
>repeatU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Repeat an array <TT
>n</TT
> times
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Subarrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extractU"
><A NAME="v%3AextractU"
></A
></A
><B
>extractU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tailU"
><A NAME="v%3AtailU"
></A
></A
><B
>tailU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield the tail of an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:takeU"
><A NAME="v%3AtakeU"
></A
></A
><B
>takeU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract a prefix of an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dropU"
><A NAME="v%3AdropU"
></A
></A
><B
>dropU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract a suffix of an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:splitAtU"
><A NAME="v%3AsplitAtU"
></A
></A
><B
>splitAtU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e)</TD
></TR
><TR
><TD CLASS="doc"
>Split an array into two halves at the given index
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Permutations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:permuteU"
><A NAME="v%3ApermuteU"
></A
></A
><B
>permuteU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Standard permutation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:bpermuteU"
><A NAME="v%3AbpermuteU"
></A
></A
><B
>bpermuteU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Back permutation operation (ie, the permutation vector determines for each
 position in the result array its origin in the input array)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:bpermuteDftU"
><A NAME="v%3AbpermuteDftU"
></A
></A
><B
>bpermuteDftU</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>length of result array
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; e</TD
><TD CLASS="rdoc"
>initialiser function
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e)</TD
><TD CLASS="rdoc"
>index-value pairs
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Default back permute
</P
><UL
><LI
> The values of the index-value pairs are written into the position in the
   result array that is indicated by the corresponding index.
</LI
><LI
> All positions not covered by the index-value pairs will have the value
   determined by the initialiser function for that index position.
</LI
></UL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:reverseU"
><A NAME="v%3AreverseU"
></A
></A
><B
>reverseU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Reverse the order of elements in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:updateU"
><A NAME="v%3AupdateU"
></A
></A
><B
>updateU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield an array constructed by updating the first array by the
 associations from the second array (which contains index/value pairs).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Higher-order operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapU"
><A NAME="v%3AmapU"
></A
></A
><B
>mapU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e') =&gt; (e -&gt; e') -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e'</TD
></TR
><TR
><TD CLASS="doc"
>Map a function over an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zipWithU"
><A NAME="v%3AzipWithU"
></A
></A
><B
>zipWithU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c) =&gt; (a -&gt; b -&gt; c) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> c</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zipWith3U"
><A NAME="v%3AzipWith3U"
></A
></A
><B
>zipWith3U</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> d) =&gt; (a -&gt; b -&gt; c -&gt; d) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> c -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> d</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:filterU"
><A NAME="v%3AfilterU"
></A
></A
><B
>filterU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract all elements from an array that meet the given predicate
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:packU"
><A NAME="v%3ApackU"
></A
></A
><B
>packU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract all elements from an array according to a given flag array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldlU"
><A NAME="v%3AfoldlU"
></A
></A
><B
>foldlU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="doc"
>Array reduction proceeding from the left
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldl1U"
><A NAME="v%3Afoldl1U"
></A
></A
><B
>foldl1U</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Array reduction proceeding from the left for non-empty arrays
</P
><P
>FIXME: Rewrite for <TT
><A HREF="../dph-base/Data-Array-Parallel-Stream.html#t%3AStream"
>Stream</A
></TT
>s.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldl1MaybeU"
><A NAME="v%3Afoldl1MaybeU"
></A
></A
><B
>foldl1MaybeU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldU"
><A NAME="v%3AfoldU"
></A
></A
><B
>foldU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
>Array reduction that requires an associative combination function with its
 unit
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fold1U"
><A NAME="v%3Afold1U"
></A
></A
><B
>fold1U</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
>Reduction of a non-empty array which requires an associative combination
 function
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fold1MaybeU"
><A NAME="v%3Afold1MaybeU"
></A
></A
><B
>fold1MaybeU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:scanlU"
><A NAME="v%3AscanlU"
></A
></A
><B
>scanlU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="doc"
>Prefix scan proceedings from left to right
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:scanl1U"
><A NAME="v%3Ascanl1U"
></A
></A
><B
>scanl1U</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Prefix scan of a non-empty array proceeding from left to right
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:scanU"
><A NAME="v%3AscanU"
></A
></A
><B
>scanU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Prefix scan proceeding from left to right that needs an associative
 combination function with its unit
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:scan1U"
><A NAME="v%3Ascan1U"
></A
></A
><B
>scan1U</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Prefix scan of a non-empty array proceeding from left to right that needs
 an associative combination function
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:scanResU"
><A NAME="v%3AscanResU"
></A
></A
><B
>scanResU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapAccumLU"
><A NAME="v%3AmapAccumLU"
></A
></A
><B
>mapAccumLU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (c -&gt; a -&gt; c <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; c -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="doc"
><P
>Accumulating map from left to right. Does not return the accumulator.
</P
><P
>FIXME: Naming inconsistent with lists.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:filterSU"
><A NAME="v%3AfilterSU"
></A
></A
><B
>filterSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Filter segmented array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:packCU"
><A NAME="v%3ApackCU"
></A
></A
><B
>packCU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineU"
><A NAME="v%3AcombineU"
></A
></A
><B
>combineU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineSU"
><A NAME="v%3AcombineSU"
></A
></A
><B
>combineSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Merge two segmented arrays according to flag array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineCU"
><A NAME="v%3AcombineCU"
></A
></A
><B
>combineCU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Segmented Subarrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sliceSU"
><A NAME="v%3AsliceSU"
></A
></A
><B
>sliceSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract a subrange of the segmented array without copying the elements.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extractSU"
><A NAME="v%3AextractSU"
></A
></A
><B
>extractSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Extract a subrange of the segmented array (elements are copied).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:takeCU"
><A NAME="v%3AtakeCU"
></A
></A
><B
>takeCU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dropCU"
><A NAME="v%3AdropCU"
></A
></A
><B
>dropCU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>Searching
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemU"
><A NAME="v%3AelemU"
></A
></A
><B
>elemU</B
> :: (<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine whether the given element is in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:notElemU"
><A NAME="v%3AnotElemU"
></A
></A
><B
>notElemU</B
> :: (<A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Negation of <TT
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#v%3AelemU"
>elemU</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>Logical operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:andU"
><A NAME="v%3AandU"
></A
></A
><B
>andU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:orU"
><A NAME="v%3AorU"
></A
></A
><B
>orU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:anyU"
><A NAME="v%3AanyU"
></A
></A
><B
>anyU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allU"
><A NAME="v%3AallU"
></A
></A
><B
>allU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Arithmetic operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sumU"
><A NAME="v%3AsumU"
></A
></A
><B
>sumU</B
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Compute the sum of an array of numerals
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:productU"
><A NAME="v%3AproductU"
></A
></A
><B
>productU</B
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Compute the product of an array of numerals
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maximumU"
><A NAME="v%3AmaximumU"
></A
></A
><B
>maximumU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the maximum element in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minimumU"
><A NAME="v%3AminimumU"
></A
></A
><B
>minimumU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the minimum element in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maximumByU"
><A NAME="v%3AmaximumByU"
></A
></A
><B
>maximumByU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the maximum element in an array under the given ordering
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minimumByU"
><A NAME="v%3AminimumByU"
></A
></A
><B
>minimumByU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the minimum element in an array under the given ordering
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maximumIndexU"
><A NAME="v%3AmaximumIndexU"
></A
></A
><B
>maximumIndexU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the index of the maximum element in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minimumIndexU"
><A NAME="v%3AminimumIndexU"
></A
></A
><B
>minimumIndexU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the index of the minimum element in an array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maximumIndexByU"
><A NAME="v%3AmaximumIndexByU"
></A
></A
><B
>maximumIndexByU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the index of the maximum element in an array under the given
 ordering
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minimumIndexByU"
><A NAME="v%3AminimumIndexByU"
></A
></A
><B
>minimumIndexByU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; (e -&gt; e -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the index of the minimum element in an array under the given
 ordering
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Arrays of pairs
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zipU"
><A NAME="v%3AzipU"
></A
></A
><B
>zipU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
><TR
><TD CLASS="doc"
>Elementwise pairing of array elements.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zip3U"
><A NAME="v%3Azip3U"
></A
></A
><B
>zip3U</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e1, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e2, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e3) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e1 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e2 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e3 -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> ((e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e3)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unzipU"
><A NAME="v%3AunzipU"
></A
></A
><B
>unzipU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="doc"
>Elementwise unpairing of array elements.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unzip3U"
><A NAME="v%3Aunzip3U"
></A
></A
><B
>unzip3U</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e1, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e2, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e3) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> ((e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e3) -&gt; (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e1 <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e2) <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e3</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fstU"
><A NAME="v%3AfstU"
></A
></A
><B
>fstU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Yield the first components of an array of pairs.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sndU"
><A NAME="v%3AsndU"
></A
></A
><B
>sndU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="doc"
>Yield the second components of an array of pairs.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>Enumerations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromToU"
><A NAME="v%3AenumFromToU"
></A
></A
><B
>enumFromToU</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Yield an enumerated array
</P
><P
>FIXME: See comments about enumFromThenToS
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromThenToU"
><A NAME="v%3AenumFromThenToU"
></A
></A
><B
>enumFromThenToU</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Yield an enumerated array using a specific step
</P
><P
>FIXME: See comments about enumFromThenToS
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromStepLenU"
><A NAME="v%3AenumFromStepLenU"
></A
></A
><B
>enumFromStepLenU</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromToEachU"
><A NAME="v%3AenumFromToEachU"
></A
></A
><B
>enumFromToEachU</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>Searching
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findU"
><A NAME="v%3AfindU"
></A
></A
><B
>findU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findIndexU"
><A NAME="v%3AfindIndexU"
></A
></A
><B
>findIndexU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="14"
><A NAME="14"
>Conversions to/from lists
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:toU"
><A NAME="v%3AtoU"
></A
></A
><B
>toU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; [e] -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
><P
>Conversion
 -----------
</P
><P
>Turn a list into a parallel array
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromU"
><A NAME="v%3AfromU"
></A
></A
><B
>fromU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; [e]</TD
></TR
><TR
><TD CLASS="doc"
>Collect the elements of a parallel array in a list
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="15"
><A NAME="15"
>Unlifted.Sequential arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:randomU"
><A NAME="v%3ArandomU"
></A
></A
><B
>randomU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="../random/System-Random.html#t%3ARandom"
>Random</A
> a, <A HREF="../random/System-Random.html#t%3ARandomGen"
>RandomGen</A
> g) =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; g -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:randomRU"
><A NAME="v%3ArandomRU"
></A
></A
><B
>randomRU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="../random/System-Random.html#t%3ARandom"
>Random</A
> a, <A HREF="../random/System-Random.html#t%3ARandomGen"
>RandomGen</A
> g) =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; (a, a) -&gt; g -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="16"
><A NAME="16"
>I/O
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A NAME="t:UIO"
><A NAME="t%3AUIO"
></A
></A
><B
>UIO</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:hPutU"
><A NAME="v%3AhPutU"
></A
></A
><B
>hPutU</B
> :: <A HREF="../base/System-IO.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hGetU"
><A NAME="v%3AhGetU"
></A
></A
><B
>hGetU</B
> :: <A HREF="../base/System-IO.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UIO')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:UIO" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUIO"
>UIO</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUIO"
>UIO</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUIO"
>UIO</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUIO"
>UIO</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUIO"
>UIO</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="17"
><A NAME="17"
>Segmentation
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:concatSU"
><A NAME="v%3AconcatSU"
></A
></A
><B
>concatSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Concatenate the subarrays of an array of arrays
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:flattenSU"
><A NAME="v%3AflattenSU"
></A
></A
><B
>flattenSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield the flat data array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:>:"
><A NAME="v%3A%3E%3A"
></A
></A
><B
>(&gt;:)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Compose a nested array.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:segmentU"
><A NAME="v%3AsegmentU"
></A
></A
><B
>segmentU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e', <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e' -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Segment an array according to the segmentation of the first argument
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:segmentArrU"
><A NAME="v%3AsegmentArrU"
></A
></A
><B
>segmentArrU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Segment an array according to the segmentation of the first argument
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:segdSU"
><A NAME="v%3AsegdSU"
></A
></A
><B
>segdSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Operations on segmented arrays
 -------------------------------
</P
><P
>Yield the segment descriptor
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="18"
><A NAME="18"
>Basic operations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lengthSU"
><A NAME="v%3AlengthSU"
></A
></A
><B
>lengthSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Yield the number of segments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:singletonSU"
><A NAME="v%3AsingletonSU"
></A
></A
><B
>singletonSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Segmentation
 -------------
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:replicateSU"
><A NAME="v%3AreplicateSU"
></A
></A
><B
>replicateSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:replicateCU"
><A NAME="v%3AreplicateCU"
></A
></A
><B
>replicateCU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield a segmented array, where each element contains the same array value
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:+:+^"
><A NAME="v%3A%2B%3A%2B%5E"
></A
></A
><B
>(+:+^)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
><P
>Concatenate two arrays
</P
><P
>FIXME: rename
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexedSU"
><A NAME="v%3AindexedSU"
></A
></A
><B
>indexedSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e)</TD
></TR
><TR
><TD CLASS="doc"
>Associate each data element with its index
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:^+:+^"
><A NAME="v%3A%5E%2B%3A%2B%5E"
></A
></A
><B
>(^+:+^)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Concatenation
 --------------
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:!:^"
><A NAME="v%3A%21%3A%5E"
></A
></A
><B
>(!:^)</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Array indexing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="19"
><A NAME="19"
>Basic operations lifted
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lengthsSU"
><A NAME="v%3AlengthsSU"
></A
></A
><B
>lengthsSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Yield the lengths of the segments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indicesSU"
><A NAME="v%3AindicesSU"
></A
></A
><B
>indicesSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Yield the starting indices of the segments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="20"
><A NAME="20"
>Zipping (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fstSU"
><A NAME="v%3AfstSU"
></A
></A
><B
>fstSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Zipping
 --------
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sndSU"
><A NAME="v%3AsndSU"
></A
></A
><B
>sndSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zipSU"
><A NAME="v%3AzipSU"
></A
></A
><B
>zipSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> (a <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="21"
><A NAME="21"
>Permutations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:bpermuteSU"
><A NAME="v%3AbpermuteSU"
></A
></A
><B
>bpermuteSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Segmented back permute
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:bpermuteSU'"
><A NAME="v%3AbpermuteSU%27"
></A
></A
><B
>bpermuteSU'</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="22"
><A NAME="22"
>Higher-order operations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapSU"
><A NAME="v%3AmapSU"
></A
></A
><B
>mapSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (a -&gt; b) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:zipWithSU"
><A NAME="v%3AzipWithSU"
></A
></A
><B
>zipWithSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> c) =&gt; (a -&gt; b -&gt; c) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> c</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldlSU"
><A NAME="v%3AfoldlSU"
></A
></A
><B
>foldlSU</B
> :: (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> b) =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> b</TD
></TR
><TR
><TD CLASS="doc"
>Segmented array reduction proceeding from the left
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldSU"
><A NAME="v%3AfoldSU"
></A
></A
><B
>foldSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Segmented array reduction that requires an associative combination
 function with its unit
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fold1SU"
><A NAME="v%3Afold1SU"
></A
></A
><B
>fold1SU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> a =&gt; (a -&gt; a -&gt; a) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> a -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Segmented array reduction with non-empty subarrays and an associative
 combination function
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="23"
><A NAME="23"
>Logical operations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:andSU"
><A NAME="v%3AandSU"
></A
></A
><B
>andSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:orSU"
><A NAME="v%3AorSU"
></A
></A
><B
>orSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="24"
><A NAME="24"
>Arithmetic operations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sumSU"
><A NAME="v%3AsumSU"
></A
></A
><B
>sumSU</B
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Compute the segmented sum of an array of numerals
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:productSU"
><A NAME="v%3AproductSU"
></A
></A
><B
>productSU</B
> :: (<A HREF="../base/Prelude.html#t%3ANum"
>Num</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Compute the segmented product of an array of numerals
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maximumSU"
><A NAME="v%3AmaximumSU"
></A
></A
><B
>maximumSU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the maximum element in each subarray
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minimumSU"
><A NAME="v%3AminimumSU"
></A
></A
><B
>minimumSU</B
> :: (<A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Determine the minimum element in each subarray
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="25"
><A NAME="25"
>Enumerations (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromToSU"
><A NAME="v%3AenumFromToSU"
></A
></A
><B
>enumFromToSU</B
> :: (<A HREF="../base/Prelude.html#t%3AEnum"
>Enum</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
><P
>Enumeration functions
 ----------------------
</P
><P
>Yield a segmented enumerated array
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:enumFromThenToSU"
><A NAME="v%3AenumFromThenToSU"
></A
></A
><B
>enumFromThenToSU</B
> :: (<A HREF="../base/Prelude.html#t%3AEnum"
>Enum</A
> e, <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e) =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Yield a segmented enumerated array using a specific step
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="26"
><A NAME="26"
>Conversions to/from lists (segmented)
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:toSU"
><A NAME="v%3AtoSU"
></A
></A
><B
>toSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; [[e]] -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
><P
>Conversion
 -----------
</P
><P
>Turn a nested list into a segmented parallel array
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromSU"
><A NAME="v%3AfromSU"
></A
></A
><B
>fromSU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr"
>SUArr</A
> e -&gt; [[e]]</TD
></TR
><TR
><TD CLASS="doc"
>Turn a segmented array into a nested list
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="27"
><A NAME="27"
>Segment descriptors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lengthsUSegd"
><A NAME="v%3AlengthsUSegd"
></A
></A
><B
>lengthsUSegd</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Yield the segment lengths of a segment descriptor
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lengthsToUSegd"
><A NAME="v%3AlengthsToUSegd"
></A
></A
><B
>lengthsToUSegd</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a length array into a segment descriptor.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:toUSegd"
><A NAME="v%3AtoUSegd"
></A
></A
><B
>toUSegd</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
></TD
></TR
><TR
><TD CLASS="doc"
>Convert an array of length/index pairs to a segment descriptor.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromUSegd"
><A NAME="v%3AfromUSegd"
></A
></A
><B
>fromUSegd</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd"
>USegd</A
> -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Convert a segment descriptor to an array of length/index pairs.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="28"
><A NAME="28"
>Mutable arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newU"
><A NAME="v%3AnewU"
></A
></A
><B
>newU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> s.  <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
>) -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e</TD
></TR
><TR
><TD CLASS="doc"
>Creating unboxed arrays
 ------------------------
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:permuteMU"
><A NAME="v%3ApermuteMU"
></A
></A
><B
>permuteMU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Permutations
 -------------
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:atomicUpdateMU"
><A NAME="v%3AatomicUpdateMU"
></A
></A
><B
>atomicUpdateMU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> e) -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeFreezeAllMU"
><A NAME="v%3AunsafeFreezeAllMU"
></A
></A
><B
>unsafeFreezeAllMU</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr"
>MUArr</A
> e s -&gt; <A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s (<A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="29"
><A NAME="29"
>Library id
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>idstr</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>name</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>versnum</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>date</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>version</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>copyright</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>disclaimer</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lengthU'"
><A NAME="v%3AlengthU%27"
></A
></A
><B
>lengthU'</B
> :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA"
>UA</A
> e =&gt; <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr"
>UArr</A
> e -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>FIXME: A fuseable version of lengthU, should go away
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>