pointybeard / helpers-statistics-slidingaverage
Ring buffer for calculating average of a changing set; helps to reduce jitter.
Installs: 1 043
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.6.6
Requires (Dev)
- block8/php-docblock-checker: ~1.10
- phpunit/phpunit: ^5
This package is auto-updated.
Last update: 2024-11-05 22:56:38 UTC
README
- Version: v1.0.2
- Date: May 05 2019
- Release notes
- GitHub repository
Ring buffer for calculating average of a changing set; helps to reduce jitter.
Installation
This library is installed via Composer. To install, use composer require pointybeard/helpers-statistics-slidingaverage
or add "pointybeard/helpers-statistics-slidingaverage": "~1.0"
to your composer.json
file.
And run composer to update your dependencies:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Requirements
There are no particuar requirements for this library other than PHP 5.6 or greater.
To include all the PHP Helpers packages on your project, use composer require pointybeard/helpers
or add "pointybeard/helpers": "~1.0"
to your composer file.
Usage
Simple example of how to use the SlidingAverage class:
<?php include __DIR__ . "/vendor/autoload.php"; use pointybeard\Helpers\Statistics\SlidingAverage; $average = new SlidingAverage\SlidingAverage(20, 0); do { // Do some work here $value = rand(0, 100); // Push some value into the ring buffer, e.g. time elapsed etc $average->push($value); echo "\rAverage is: " . $average->sample(); usleep(70000); } while(true);
Support
If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.
Contributing
We encourage you to contribute to this project. Please check out the Contributing documentation for guidelines about how to get involved.
Credits
Credit to Alexey Volynskov's tutorial, and C# implementation, Quick Tip: Use the "Ring Buffer" Data Structure to Smooth Jittery Values. The inspiration for this class comes from that tutorial.
License
"PHP Helpers: Sliding Average" is released under the MIT License.