asap_sketchlib 0.2.1

A high-performance sketching library for approximate stream processing
Documentation
# API: NitroBatch

Status: `Ready`

## Purpose

Batch-mode geometric sampling wrapper that updates a sketch target.

## Type/Struct

- `NitroBatch<S: NitroTarget>`
- Traits: `NitroTarget`, `NitroMerge`, `NitroEstimate`

## Constructors

```rust
fn init_nitro(rate: f64) -> Self
fn with_target(rate: f64, sk: S) -> Self
```

## Insert/Update

```rust
fn insert(&mut self, data: &[i64])
fn insert_cached_step(&mut self, data: &[i64])
fn draw_geometric(&mut self)
fn reduce_to_skip(&mut self)
```

## Query

```rust
fn target(&self) -> &S
fn target_mut(&mut self) -> &mut S
fn into_target(self) -> S
fn get_sampling_rate(&self) -> f64
fn get_ctx(&self) -> (usize, f64, usize, usize)
fn estimate_median(&self, value: &DataInput) -> f64
```

## Merge

```rust
fn merge(&mut self, other: &Self)
```

## Serialization

No dedicated serialization API.

## Examples

```rust
use asap_sketchlib::{CountMin, FastPath, NitroBatch, Vector2D};

let base = CountMin::<Vector2D<i32>, FastPath>::default();
let mut nitro = NitroBatch::with_target(0.1, base);
nitro.insert(&[1, 2, 3, 4]);
```

## Caveats

- Works with targets implementing `NitroTarget`.
- Sampling introduces intentional approximation.

## Status

Ready for batch sampling workflows.