<> <> <> <> <<>> <> <<>> DIRECTORY Basics USING [bitsPerWord], SampleMapOps; SlowSampleMapOps: CEDAR DEFINITIONS ~ BEGIN <> <<>> <> <<>> SampleMap: TYPE ~ SampleMapOps.SampleMap; SubMap: TYPE ~ SampleMapOps.SubMap; bitsPerWord: NAT ~ Basics.bitsPerWord; CVEC: TYPE ~ SampleMapOps.CVEC; zeroCVEC: CVEC ~ [0, 0]; lastCVEC: CVEC ~ [CARDINAL.LAST, CARDINAL.LAST]; Function: TYPE ~ SampleMapOps.Function; nullFunction: Function ~ SampleMapOps.nullFunction; <> Create: PROC [sSize: CARDINAL, fSize: CARDINAL, bitsPerSample: [0..Basics.bitsPerWord]] RETURNS [s: SampleMap]; <> CreateZ: PROC [sSize: CARDINAL, fSize: CARDINAL, bitsPerSample: [0..Basics.bitsPerWord]] RETURNS [s: SampleMap]; <> Copy: PROC [subMap: SubMap] RETURNS [SampleMap]; DoubleCopy: PROC [to, slowTo, from: SampleMap, destStart: CVEC]; GetSample: PROC [sampleMap: SampleMap, index: CVEC] RETURNS [CARDINAL]; PutSample: PROC [sampleMap: SampleMap, index: CVEC, value: CARDINAL, function: Function _ nullFunction, goodDest: SampleMap]; <> <> Transfer: PROC [dest: SampleMap, destStart: CVEC _ zeroCVEC, source: SubMap, function: Function _ nullFunction, goodDest: SampleMap]; <> <> <> <> <> <> <> Move: PROC [sampleMap: SampleMap, destStart: CVEC _ zeroCVEC, sourceStart: CVEC _ zeroCVEC, size: CVEC _ lastCVEC, function: Function _ nullFunction, goodDest: SampleMap]; <> Fill: PROC [dest: SubMap, value: CARDINAL, function: Function _ nullFunction, goodDest: SubMap]; TileBox: PROC [dest: SampleMap, start: CVEC, size: CVEC, source: SampleMap, s0, f0: INTEGER, phase: NAT, function: Function _ nullFunction, goodDest: SampleMap]; <> <> <> <> <> <> <> <> <> <> <> <> <> <<>> Buffer: TYPE ~ SampleMapOps.Buffer; maxCount: NAT ~ LAST[NAT]; Get: PROC [buffer: Buffer, start: NAT _ 0, count: NAT _ maxCount, sampleMap: SampleMap, s, f: NAT _ 0, ds: NAT _ 0, df: NAT _ 1]; <> <> <> Put: PROC [buffer: Buffer, start: NAT _ 0, count: NAT _ maxCount, sampleMap: SampleMap, s, f: NAT _ 0, ds: NAT _ 0, df: NAT _ 1, function: Function _ nullFunction, goodDest: SampleMap]; <> <> <> END.