Class new title: Interval subclassof: Array fields: 'start stop step length' declare: ''  t1 [[t1 is: Integer  [t1 < 1  [nil] t1 > length  [nil] start + (step * (t1 - 1))]]. super  t1]  t1 _ t2 [user notify: 'Intervals are not for writing into'] = t1 [start = t1 start and (stop = t1 stop and length = t1 length)] cansubscript: t1 [length  0 or ((start cansubscript: t1) and (length - 1 * step + start cansubscript: t1))] from: t1 to: t2 by: t3 [start _ t1. stop _ t2. step _ t3. length _ 1 + (stop - start / step). step < 0  [start < stop  [length _ 0]] stop < start  [length _ 0]] isIntervalBy1 [step = 1] length [length] random [step _ (13849 + (27181 * step)) asInt16. (start + (length asFloat * (32768.0 + step) / 65536.0)) asSmall] randomInit [self randomInit: mem  280] randomInit: t1 [step _ t1. start is: Float  [length _ stop - start]] start [start] stop [stop]