<div align="center">


# mean-estimators

_A collection of rust-gpu ready mean estimators._

[![MPL 2.0](https://img.shields.io/badge/License-MPL_2.0-blue)](LICENSE)

</div>


## Usage

Each estimator is guarded by a feature. By default all estimators are included, and glam support is provided through [spirv-std](https://crates.io/crates/spirv-std).


Each estimator needs to save some kind of _history_ data. This is expressed through the `*Estimator` structs. Each of those structs is ready to be used in GPU memory, i.e, 16-byte aligned. You can shove new data into it via _push_. This will update the estimator and return the estimated mean value.

## Example

There is an example app showcasing all filters
<div align="center">
    <img src="resources/screenshot.png"></img>
</div>


run it through:

```bash
cargo run --example showcase
```

## License

Licensed under

Mozilla Public License Version 2.0 ([LICENSE](LICENSE) or <https://www.mozilla.org/en-US/MPL/2.0/>)
