1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! # Rust binding for HdrHistogram_c
//!
//! This crate implements bindings for
//! [HdrHistogram_c](https://github.com/hdrhistogram/HdrHistogram_c), a flexible library for
//! recording histograms without having to know very much about the data being histogrammed.
//!
//! The top-level type is `Histogram`.
//!
//! # Example
//!
//! This sets up a histogram to record values in the range 1..1000_000 with 2 significant figures of
//! precision. It then records 
//!
//! ```
//! # use hdrhistogram::Histogram;
//! let mut h = Histogram::init(1, 1000000, 2).unwrap();
//! 
//! h.record_value(1);
//! h.record_value(10);
//! h.record_values(100, 40);
//!
//! assert_eq!(h.total_count(), 42);
//! assert_eq!(h.min(), 1);
//! assert_eq!(h.max(), 100);
//! ```

mod ffi;

pub use ffi::{Histogram, HistoErr,
              LinearIter, LogIter, PercentileIter, RecordedIter,
              CountIterItem, PercentileIterItem };

pub use ffi::dbl::{F64Histogram, F64LinearIter, F64LogIter, F64PercentileIter, F64RecordedIter, F64CountIterItem, F64PercentileIterItem};