<!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 & 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 => <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 :: * -> *</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 -> <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 -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <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 -> <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 -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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 => 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%3AconsU" >consU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => e -> <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%3AunitsU" >unitsU</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</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%3AreplicateEachU" >replicateEachU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</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="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%3A%21%3A" >(!:)</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> 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 => <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 -> <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 => <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 > (<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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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%3AextractU" >extractU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > a => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <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%3AtakeU" >takeU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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%3AdropU" >dropU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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%3AsplitAtU" >splitAtU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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, <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 => <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> e) -> <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) -> <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 => <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%3AupdateU" >updateU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <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 > (<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) -> <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') => (e -> e') -> <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%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) => (a -> b -> c) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <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) => (a -> b -> c -> d) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > c -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <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%3ApackU" >packU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <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 > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <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 => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > 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%3Ascanl1U" >scanl1U</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > a => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => (c -> a -> c <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > 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%3AfilterSU" >filterSU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 > -> <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 > -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e1 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e2 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e3 -> <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) => <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) -> <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) => <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) -> (<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) => <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) -> <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) => <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) -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <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 >) -> <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 => (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => [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%3AfromU" >fromU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> [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) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> g -> <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) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (a, a) -> g -> <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 => <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 > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 > -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%3AflattenSU" >flattenSU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > e => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%3A%3E%3A" >(>:)</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > a => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd" >USegd</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e' -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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="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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <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) -> <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) => <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) -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > b -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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="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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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="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) => (a -> b) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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) => (a -> b -> c) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > b -> <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) => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > 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%3AfoldSU" >foldSU</A > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > a => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 > -> <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 > -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</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%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) => <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 -> <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) => <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 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => [[e]] -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> [[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 > -> <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 > -> <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 >) -> <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 > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (<SPAN CLASS="keyword" >forall</SPAN > s. <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <A HREF="../base/Control-Monad-ST.html#t%3AST" >ST</A > s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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) -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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 :: * -> *</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 -> <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 -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <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 -> <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 -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <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) => <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) => <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) => <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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 => e -> <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 => e -> <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" >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 > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> e -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</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="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="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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> 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 => <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 -> <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 => <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 > (<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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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" >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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <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" >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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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" >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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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" >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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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, <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 => <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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" >=> <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" >-> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> e</TD ><TD CLASS="rdoc" >initialiser function </TD ></TR ><TR ><TD CLASS="arg" >-> <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" >-> <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 => <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" >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 => <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 > (<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) -> <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') => (e -> e') -> <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" >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) => (a -> b -> c) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <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) => (a -> b -> c -> d) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > c -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <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" >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 => <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 > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <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 => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> 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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => (c -> a -> c <A HREF="../dph-base/Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 > -> <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 > -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> 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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => (e -> e -> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering" >Ordering</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > b -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e1 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e2 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e3 -> <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) => <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) -> <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) => <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) -> (<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) => <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) -> <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) => <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) -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 > -> <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 >) -> <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 => (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 => [e] -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> [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) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> g -> <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) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (a, a) -> g -> <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 => <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 > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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 > -> <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) => <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 >(>:)</B > :: <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUA" >UA</A > a => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUSegd" >USegd</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > a -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e' -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <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="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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="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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <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) -> <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) => <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) -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > b -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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="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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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="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) => (a -> b) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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) => (a -> b -> c) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > b -> <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) => (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => (a -> a -> a) -> a -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 => (a -> a -> a) -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > a -> <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 > -> <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 > -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> <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) => <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 -> <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) => <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 -> <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 => [[e]] -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3ASUArr" >SUArr</A > e -> [[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 > -> <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 > -> <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 >) -> <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 > -> <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 => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (<SPAN CLASS="keyword" >forall</SPAN > s. <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <A HREF="../base/Control-Monad-ST.html#t%3AST" >ST</A > s <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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 > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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) -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AMUArr" >MUArr</A > e s -> <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 => <A HREF="Data-Array-Parallel-Unlifted-Sequential.html#t%3AUArr" >UArr</A > e -> <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 >