<commit_before>Brick\Math
==========

Provides the `BigInteger` and `BigDecimal` classes to work with arbitrary precision numbers.

[![Build Status](https://secure.travis-ci.org/brick/math.svg?branch=master)](http://travis-ci.org/brick/math)
[![Coverage Status](https://coveralls.io/repos/brick/math/badge.svg?branch=master)](https://coveralls.io/r/brick/math?branch=master)

Installation
------------

This library is installable via [Composer](https://getcomposer.org/).
Just define the following requirement in your `composer.json` file:

    {
        "require": {
            "brick/math": "*"
        }
    }

Requirements
------------

This library requires PHP 5.6, PHP 7 or [HHVM](http://hhvm.com/).

Although the library can work on any PHP installation, it is highly recommended that you install the
[GMP](http://php.net/manual/en/book.gmp.php) or [BCMath](http://php.net/manual/en/book.bc.php) extension
to speed up calculations. The fastest available calculator implementation will be automatically selected at runtime.

Package contents
----------------

This library provides the following public classes:

- `Brick\Math\ArithmeticException`: exception thrown when an error occurs.
- `Brick\Math\BigInteger`: represents an arbitrary-precision integer number.
- `Brick\Math\BigDecimal`: represents an arbitrary-precision decimal number.
- `Brick\Math\RoundingMode`: holds constants for the [rounding modes](#division--rounding-modes).

Overview
--------

### Instantiation

The constructor of `BigInteger` and `BigDecimal` is private,<commit_msg>Add note about facebook/hhvm#4858 bug<commit_after>Brick\Math
==========

Provides the `BigInteger` and `BigDecimal` classes to work with arbitrary precision numbers.

[![Build Status](https://secure.travis-ci.org/brick/math.svg?branch=master)](http://travis-ci.org/brick/math)
[![Coverage Status](https://coveralls.io/repos/brick/math/badge.svg?branch=master)](https://coveralls.io/r/brick/math?branch=master)

Installation
------------

This library is installable via [Composer](https://getcomposer.org/).
Just define the following requirement in your `composer.json` file:

    {
        "require": {
            "brick/math": "*"
        }
    }

Requirements
------------

This library requires PHP 5.6 or PHP 7.
[HHVM](http://hhvm.com/) will be supported as soon as [this bug](https://github.com/facebook/hhvm/issues/4858) is fixed.

Although the library can work on any PHP installation, it is highly recommended that you install the
[GMP](http://php.net/manual/en/book.gmp.php) or [BCMath](http://php.net/manual/en/book.bc.php) extension
to speed up calculations. The fastest available calculator implementation will be automatically selected at runtime.

Package contents
----------------

This library provides the following public classes:

- `Brick\Math\ArithmeticException`: exception thrown when an error occurs.
- `Brick\Math\BigInteger`: represents an arbitrary-precision integer number.
- `Brick\Math\BigDecimal`: represents an arbitrary-precision decimal number.
- `Brick\Math\RoundingMode`: holds constants for the [rounding modes](#division--rounding-modes).

Overview
--------

### Instantiation

The constructor of `BigInteger` and `BigDecimal` is private,
{'fraction_non_alphanumeric': 0.1518987341772152, 'fraction_numerical': 0.0043223217042297, 'mean_word_length': 3.8795180722891565, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 9, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '271734', 'n_tokens_mistral': 967, 'n_tokens_neox': 915, 'n_words': 265}