Ninja Pokémon Master

    math-factorial

    1.0.0 • Public • Published

    Factorial

    NPM version Build Status Coverage Status Dependencies

    Factorial function.

    The factorial function may be defined as the product

    Factorial function definition

    or according to the recurrence relation

    Factorial function recurrence relation

    Following the convention for an empty product, in all definitions,

    Zero factorial

    The Gamma function extends the factorial function for non-integer values.

    Factorial function extension via the Gamma function

    The factorial of a negative integer is not defined.

    Installation

    $ npm install math-factorial

    Usage

    var factorial = require( 'math-factorial' );

    factorial( x )

    Evaluates the factorial function.

    var val = factorial( 3 );
    // returns 3! = 6
     
    val = factorial( -3/2 );
    // returns ~-3.545
     
    val = factorial( -1/2 );
    // returns ~1.772
     
    val = factorial( 1/2 );
    // returns ~0.886
     
    val = factorial( -10 );
    // returns NaN
     
    val = factorial( 171 );
    // returns +infinity
     
    val = factorial( NaN );
    // returns NaN

    Examples

    var incrspace = require( 'compute-incrspace' );
    var factorial = require( 'math-factorial' );
     
    var x = incrspace( -10, 100, 1 );
    var v;
    var i;
     
    for ( i = 0; i < x.length; i++ ) {
        v = factorial( x[ i ] );
        console.log( 'x: %d, f(x): %d', x[ i ], v );
    }

    To run the example code from the top-level application directory,

    $ node ./examples/index.js

    Tests

    Unit

    This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

    $ make test

    All new feature development should have corresponding unit tests to validate correct functionality.

    Test Coverage

    This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

    $ make test-cov

    Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

    $ make view-cov

    Browser Support

    This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

    $ make test-browsers

    To view the tests in a local web browser,

    $ make view-browser-tests

    License

    MIT license.

    Copyright

    Copyright © 2016. The Compute.io Authors.

    Install

    npm i math-factorial

    DownloadsWeekly Downloads

    3

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • kgryte
    • planeshifter