packages feed

dph-prim-interface-0.7.0.1: interface/DPH_Header.h

{-# LANGUAGE MagicHash #-}
#include "fusion-phases.h"

module Data.Array.Parallel.Unlifted (
  -- * Types
  Elt,  Array,
  
  -- * Constructors
  empty,
  generate,
  replicate, replicate_s, replicate_rs,
  repeat,
  indexed,
  (+:+),
  append_s, append_vs,
  indices_s,
  enumFromTo,
  enumFromThenTo,
  enumFromStepLen,
  enumFromStepLenEach,

  -- * Projections
  length,
  index,
  indexs,
  indexs_avs,

  extract,
  extracts_nss,
  extracts_ass,
  extracts_avs,
  drop,
  
  -- * Update
  update,

  -- * Permutation
  permute,
  bpermute,
  mbpermute,
  bpermuteDft,
      
  -- * Zipping and Unzipping
  zip,   zip3,
  unzip, unzip3,
  fsts,  snds,  

  -- * Map and ZipWith
  map, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7,  zipWith8, 

  -- * Scans and Folds
  scan,
  fold,  fold_s,  fold_ss,   fold_vs, fold_r,  
  fold1, fold1_s, fold1_ss,  fold1_vs,
  sum,   sum_s,   sum_ss,    sum_r,  
  count, count_s, count_ss,
  and, 

  -- * Pack and Filter
  pack,
  packByTag,
  filter,
  pick,
  
  -- * Combine and Interleave
  combine, combine2,
  interleave,

  -- * Selectors
  Sel2,
  mkSel2, 
  tagsSel2,
  indicesSel2,
  elementsSel2_0,
  elementsSel2_1,
  repSel2,
  tagsToSel2,
  
  -- * Selector Representations
  SelRep2,
  mkSelRep2,
  indicesSelRep2,
  elementsSelRep2_0,
  elementsSelRep2_1,
    
  -- * Segment Descriptors
  Segd,
  mkSegd,
  validSegd,
  emptySegd,
  singletonSegd,
  lengthsToSegd,
  lengthSegd,
  lengthsSegd,
  indicesSegd,
  elementsSegd,
  plusSegd, 

  -- * Scattered Segment Descriptors
  SSegd,
  mkSSegd,
  validSSegd,
  emptySSegd,
  singletonSSegd,
  promoteSegdToSSegd,
  isContiguousSSegd,
  lengthOfSSegd,
  lengthsOfSSegd,
  indicesOfSSegd,
  startsOfSSegd,
  sourcesOfSSegd,
  getSegOfSSegd,
  appendSSegd,
  
  -- * Virtual Segment Descriptors
  VSegd,
  mkVSegd,
  validVSegd,
  emptyVSegd,
  singletonVSegd,
  replicatedVSegd,
  promoteSegdToVSegd,
  promoteSSegdToVSegd,
  isManifestVSegd,
  isContiguousVSegd,
  lengthOfVSegd,
  takeVSegidsOfVSegd,
  takeVSegidsRedundantOfVSegd,
  takeSSegdOfVSegd,
  takeSSegdRedundantOfVSegd,
  takeLengthsOfVSegd,
  getSegOfVSegd,
  unsafeDemoteToSSegdOfVSegd,
  unsafeDemoteToSegdOfVSegd,
  updateVSegsOfVSegd,
  updateVSegsReachableOfVSegd,
  appendVSegd,
  combine2VSegd,
  
  -- * Irregular two dimensional arrays
  Elts, Arrays,
  emptys,
  singletons,
  lengths,
  unsafeIndexs,
  unsafeIndex2s,
  appends,
  fromVectors,
  toVectors,
  
  -- * Random arrays
  randoms, randomRs,
  
  -- * Array IO
  IOElt, hGet, hPut,
  toList, fromList,
) where

import Prelude                    (Num, Int, Bool, Float, Double)
import System.IO                  (IO, Handle)
import Data.Word                  (Word8)
import qualified System.Random
import qualified Prelude
import qualified Data.Vector       as VV