Extension [ <persistent> extension #75 hdrhistogram version 0.4.2 ] {

  - Functions {
    Function [ <internal:hdrhistogram> function hdr_init ] {

      - Parameters [3] {
        Parameter #0 [ <required> int $lowest_trackable_value ]
        Parameter #1 [ <required> int $highest_trackable_value ]
        Parameter #2 [ <required> int $significant_figures ]
      }
    }
    Function [ <internal:hdrhistogram> function hdr_get_memory_size ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_record_value ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> int $value ]
      }
      - Return [ bool ]
    }
    Function [ <internal:hdrhistogram> function hdr_record_values ] {

      - Parameters [3] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> int $value ]
        Parameter #2 [ <required> int $count ]
      }
      - Return [ bool ]
    }
    Function [ <internal:hdrhistogram> function hdr_record_corrected_value ] {

      - Parameters [3] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> int $value ]
        Parameter #2 [ <required> int $expected_interval ]
      }
      - Return [ void ]
    }
    Function [ <internal:hdrhistogram> function hdr_mean ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_stddev ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ float ]
    }
    Function [ <internal:hdrhistogram> function hdr_min ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_max ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_total_count ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_reset ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ void ]
    }
    Function [ <internal:hdrhistogram> function hdr_count_at_value ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> int $value ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_value_at_percentile ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> float $percentile ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_add ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr1 ]
        Parameter #1 [ <required> $hdr2 ]
      }
    }
    Function [ <internal:hdrhistogram> function hdr_merge_into ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr1 ]
        Parameter #1 [ <required> $hdr2 ]
      }
      - Return [ int ]
    }
    Function [ <internal:hdrhistogram> function hdr_iter_init ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
    }
    Function [ <internal:hdrhistogram> function hdr_iter_next ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:hdrhistogram> function hdr_percentile_iter_init ] {

      - Parameters [2] {
        Parameter #0 [ <required> $hdr ]
        Parameter #1 [ <required> int $ticks_per_half_distance ]
      }
    }
    Function [ <internal:hdrhistogram> function hdr_percentile_iter_next ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:hdrhistogram> function hdr_export ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ array ]
    }
    Function [ <internal:hdrhistogram> function hdr_import ] {

      - Parameters [1] {
        Parameter #0 [ <required> array $import ]
      }
    }
    Function [ <internal:hdrhistogram> function hdr_base64_encode ] {

      - Parameters [1] {
        Parameter #0 [ <required> $hdr ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:hdrhistogram> function hdr_base64_decode ] {

      - Parameters [1] {
        Parameter #0 [ <required> string $data ]
      }
    }
  }
}