Code Duplication    Length = 12-14 lines in 2 locations

src/Hilbert.php 2 locations

@@ 101-112 (lines=12) @@
98
  }
99
100
101
  function point_to_hilbert($x, $y, $order = 16, $map = "hilbert_map_1", $mode = "hilbert") {
102
    $current_square = 'a';
103
    $position = 0;
104
    foreach (range($order - 1, 0, -1) as $i) {
105
      $position <<= 2;
106
      $quad_x = $x & (1 << $i) ? 1 : 0;
107
      $quad_y = $y & (1 << $i) ? 1 : 0;
108
      list($quad_position, $current_square) = $this->{$map}[$current_square]["$quad_x, $quad_y"];
109
      $position |= $quad_position;
110
    }
111
    return $position;
112
  }
113
114
  function hilbert_to_point($hilbert, $order) {
115
    $current_square = "a";
@@ 141-154 (lines=14) @@
138
  }
139
140
141
  function xy2d($x, $y, $order = 16) {
142
    $current_square = 'a';
143
    $position = 0;
144
145
    foreach (range($order - 1, 0, -1) as $i) {
146
      $position <<= 2;
147
      $quad_x = $x & (1 << $i) ? 1 : 0;
148
      $quad_y = $y & (1 << $i) ? 1 : 0;
149
      list($quad_position, $current_square) = $this->hilbert_map[$current_square]["$quad_x, $quad_y"];
150
      $position |= $quad_position;
151
    }
152
153
    return $position;
154
  }
155
156
  function d2xy($hilbert, $order = 16) {
157
    $current_square = "a";