<commit_before># Memoize
A PHP library for memoizing repeated function calls.

[![Build Status](https://travis-ci.org/dominionenterprises/memoize-php.png)](https://travis-ci.org/dominionenterprises/memoize-php)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/badges/quality-score.png?s=25ab188709941f6b6de105c8250c971f4f3d8982)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
[![Code Coverage](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/badges/coverage.png?s=927286917d2abd01c27eea906b91fbef071810f5)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)

[![Latest Stable Version](https://poser.pugx.org/dominionenterprises/memoize/v/stable.png)](https://packagist.org/packages/dominionenterprises/memoize)
[![Total Downloads](https://poser.pugx.org/dominionenterprises/memoize/downloads.png)](https://packagist.org/packages/dominionenterprises/memoize)
[![Latest Unstable Version](https://poser.pugx.org/dominionenterprises/memoize/v/unstable.png)](https://packagist.org/packages/dominionenterprises/memoize)
[![License](https://poser.pugx.org/dominionenterprises/memoize/license.png)](https://packagist.org/packages/dominionenterprises/memoize)

## Requirements
This library requires PHP 5.3, or newer.

## Installation
This package uses [composer](https://getcomposer.org) so you can just add
`dominionenterprises/memoize` as a dependency to your `composer.json` file.

## Memoization
[Memoization](http://en.wikipedia.org/wiki/Memoization) is a way of optimizing
a function that is called repeatedly by caching the results of a function call.

## Memoization Providers
This library includes several built-in providers for memoization.  Each one
implements the `\DominionEnterprises\Memoize\Memoize` interface:<commit_msg>Use shields.io flat svg badges.<commit_after># Memoize
A PHP library for memoizing repeated function calls.

[![Build Status](http://img.shields.io/travis/dominionenterprises/memoize-php.svg?style=flat)](https://travis-ci.org/dominionenterprises/memoize-php)
[![Scrutinizer Code Quality](http://img.shields.io/scrutinizer/g/dominionenterprises/memoize-php.svg?style=flat)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)
[![Code Coverage](http://img.shields.io/scrutinizer/coverage/g/dominionenterprises/memoize-php.svg?style=flat)](https://scrutinizer-ci.com/g/dominionenterprises/memoize-php/)

[![Latest Stable Version](http://img.shields.io/packagist/v/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)
[![Total Downloads](http://img.shields.io/packagist/dt/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)
[![License](http://img.shields.io/packagist/l/dominionenterprises/memoize.svg?style=flat)](https://packagist.org/packages/dominionenterprises/memoize)

## Requirements
This library requires PHP 5.3, or newer.

## Installation
This package uses [composer](https://getcomposer.org) so you can just add
`dominionenterprises/memoize` as a dependency to your `composer.json` file.

## Memoization
[Memoization](http://en.wikipedia.org/wiki/Memoization) is a way of optimizing
a function that is called repeatedly by caching the results of a function call.

## Memoization Providers
This library includes several built-in providers for memoization.  Each one
implements the `\DominionEnterprises\Memoize\Memoize` interface:
{'fraction_non_alphanumeric': 0.13762261973456433, 'fraction_numerical': 0.017022504327755338, 'mean_word_length': 6.569868995633188, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 22, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5637818', 'n_tokens_mistral': 1228, 'n_tokens_neox': 1175, 'n_words': 178}