Interface for qBeta module object

Origin: ArrayDemos

RangeList: obj
   int2int:
      in i: var integer
      out V: var integer
   intint2int:
      in i1: var integer
      in i2: var integer
      out V: var integer
   IntList:
      in head: var integer
      in tail: ref IntList
      first:
         out r: var integer
      second:
         out r: var integer
      scan:
         current: var integer
         L: ref IntList
         loop:
      length:
         out len: var integer
   Range:
      in low: var integer
      in upp: var integer
      noof: obj +
      check:
         in inx: var integer
      print:
   RangeList:
      in head: ref Range
      in tail: ref RangeList
      empty:
         out b: var boolean
      first:
         out r: ref Range
      second:
         out r: ref Range
      add:
         in r: ref Range
      scan:
         current: ref Range
         L: ref RangeList
         loop:
      length:
         out len: var integer
   rl: ref RangeList
   r: ref Range
   r1: ref Range
   r2: ref Range
   IndexDim2:
      in index1: var integer
      in index2: var integer
   anIndexDim2: ref IndexDim2
   Slice:
      in start: var integer
      in stop: var integer
      in step: var integer
      print:
   SliceList:
      in head: ref Slice
      in tail: ref SliceList
      empty:
         out b: var boolean
      first:
         out r: ref Slice
      second:
         out r: ref Slice
      scan:
         x: var integer
         current: ref Slice
         L: ref SliceList
         loop:
      length:
         out len: var integer
   ArrayList:
      in head: ref Array
      in tail: ref ArrayList
      empty:
         out b: var boolean
      first:
         out r: ref Array
      second:
         out r: ref Array
      scan:
         x: var integer
         current: ref Array
         L: ref ArrayList
         loop:
      length:
         out len: var integer
   slice1: ref Slice
   slice2: ref Slice
   sl: ref SliceList
   Array:
      -- indexedRanges: ?Indexed(ndim,Range)
      -- inx:?integer
      -- inx:=1
      -- ranges.scan
      -- indexedRanges.%put current %at% inx
      -- inx:= inx+1
      -- indexedRanges.%put ranges.first %at% 1
      -- indexedRanges.%put ranges.second %at% 2
      -- R:? Indexed(ndim, Range)
      -- R:= Indexed(ndim, Range)
      -- inx:?integer
      -- inx:=1
      -- ranges.scan
      -- R.%put current %at% inx
      -- inx:= inx+1
      -- R.%put ranges.first %at% 1
      -- R.%put ranges.second %at% 2
      in ndim: var integer
      in ranges: ref RangeList
      R1: ref Range
      R2: ref Range
      pos: var integer
      noof: var integer
         -- qcompileren ville helst ikke have denne:
         -- %if R2 <> none %then% noof:= R1.noof * R2.noof %else% noof:= R1.noof
         
      rep: ref Indexed
      put:
         in e: var integer
         out res: ref Array
      plainPut:
         in e: var integer
      get:
         out res: var integer
      plainGet:
         out res: var integer
      nxt:
         out res: var integer
      prv:
         out res: var integer
      putAt:
         in inx: var integer
         in exp: var integer
      getAt:
         in inx: var integer
         out res: var integer
      putAtAt:
         in inx1: var integer
         in inx2: var integer
         in exp: var integer
         repPosAux: var integer
            -- "putAtAt ".print
            
      getAtAt:
         in inx1: var integer
         in inx2: var integer
         out exp: var integer
         repPosAux: var integer
      realPutAt:
         in il: ref IntList
         in exp: var integer
         inx1: var integer
         inx2: var integer
         repPos: var integer
      realGetAt:
         in il: ref IntList
         out exp: var integer
         inx1: var integer
         inx2: var integer
         repPos: var integer
      forAll:
         current: var integer
            -- inx: ?integer, dropped this and instead use pos
            
         loop:
      forAllDo:
         f:< int2int
         current: var integer
         V: var integer
            -- inx: ?integer, dropped this and instead use pos
            
         loop:
      mapSum:
         f:< int2int
         out V: var integer
         current: var integer
            -- inx: ?integer, dropped this and instead use pos
            
         loop:
      forAllIndex:
         index: var integer
         loop:
      forAllIndex2:
         index1: var integer
         index2: var integer
      fill:
         in v: var integer
      fromFunction:
         f:< int2int
         loop:
      split:
         in size: var integer
         out al: ref ArrayList
         ra: ref Array
         rl: ref RangeList
      zeroes:
      zeroesLike:
         out r: ref Array
      ones:
      onesLike:
         out r: ref Array
      sum:
         out s: var integer
      iadd:
         in a: ref Array
      iminus:
         in a: ref Array
      imult:
         in a: ref Array
      min:
         out V: var integer
      indexAtMin:
         out index: ref IndexDim2
         V: var integer
      max:
         out V: var integer
      equal:
         in a: ref Array
         out b: var boolean
      countNonZero:
         out count: var integer
      slicing:
         in sl: ref SliceList
         out a: ref Array
         sliceDim: var integer
         currentUpp: var integer
         newUpp: var integer
         il: ref IntList
         ila: ref IntList
         first: var integer
         second: var integer
         firsta: var integer
         seconda: var integer
         sliceRangeList: ref Rangelist
         sliceRange: ref Range
         currentSlice: ref Slice
         currentRange: ref Range
         loop1:
         loop2:
         firstLoop:
            secondLoop:
      print:
   zeroesLike:
      in a: ref Array
      out r: ref Array
   onesLike:
      in a: ref Array
      out r: ref Array
   copyTo:
      in dst: ref Array
      in src: ref Array
   actualF: int2int
   actualF1: int2int
   a: ref Array
   b: ref Array
   c: ref Array
   index1: var integer
   index2: var integer
   i: var integer
   indices: ref Intlist