/[clipping]/cyclic_arr.class.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /cyclic_arr.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Sat Nov 3 10:36:20 2001 UTC (17 years, 7 months ago) by dpavlin
Branch: MAIN
display last n lines from log file

1 <?php
2
3 // implementation of Cyclic array
4 // 2001-11-03 Dobrica Pavlinusic <dpavlin@rot13.org>
5
6 // generally functions return boolean if array looped
7
8 class Cyclic_Arr {
9 var $size; // number of elements before cycle
10 var $arr = Array(); // actual data
11 var $pos = 0; // current position
12 var $did_loop = 0; // did last move made loop?
13
14 // init size of array
15 function set_size($size) {
16 $this->size=$size;
17 }
18
19 // put element into array, move to next
20 function push($val) {
21 $this->arr[$this->pos] = $val;
22 $this->next();
23 //return $this->did_loop;
24 }
25
26 // get element from array, move to next
27 function fetch() {
28 $out = $this->arr[$this->pos];
29 $this->next();
30 return $out;
31 }
32
33 // move to next
34 function next() {
35 if ($this->pos == $this->size) $this->did_loop = 1;
36 $this->pos = ($this->pos + 1) % $this->size;
37 return $this->did_loop;
38 }
39
40 // move to previous
41 function prev() {
42 if ($this->pos == 0) $this->did_loop = 1;
43 $this->pos = ($this->pos + $this->size - 1) % $this->size;
44 return $this->did_loop;
45 }
46
47 // tell size of array
48 function tell_size() {
49 return $this->size;
50 }
51
52 // tell current position in array
53 function tell_pos() {
54 return $this->pos;
55 }
56
57 function did_loop() {
58 return $this->did_loop;
59 }
60
61 }
62
63 ?>

  ViewVC Help
Powered by ViewVC 1.1.26