Have ideas to improve npm?Join in the discussion! ¬Ľ

    compute-gcd

    1.2.1¬†‚Äʬ†Public¬†‚Äʬ†Published

    Greatest Common Divisor

    NPM version Build Status Coverage Status Dependencies

    Computes the greatest common divisor (gcd).

    Note: the gcd is also known as the greatest common factor (gcf), highest common factor (hcf), highest common divisor, and greatest common measure (gcm).

    Installation

    $ npm install compute-gcd

    For use in the browser, use browserify.

    Usage

    var gcd = require( 'compute-gcd' );

    gcd( a, b[, c,...,n] )

    Computes the greatest common divisor (gcd) of two or more integers.

    var val = gcd( 48, 18 );
    // returns 6
     
    var val = gcd( 8, 12, 16 );
    // returns 4

    gcd( arr[, accessor] )

    Computes the greatest common divisor (gcd) of two or more integers.

    var val = gcd( [48, 18] );
    // returns 6
     
    var val = gcd( [8, 12, 16] );
    // returns 4

    For object arrays, provide an accessor function for accessing array values

    var data = [
        ['beep', 4],
        ['boop', 8],
        ['bap', 12],
        ['baz', 16]
    ];
     
    function getValue( d, i ) {
        return d[ 1 ];
    }
     
    var arr = gcd( arr, getValue );
    // returns 4

    Notes

    • For more than 3 values, a performance gain can be achieved if the values are sorted in ascending order.
    • If provided an array with a length less than 2 or a single integer argument, the function returns null.

    Examples

    var gcd = require( 'compute-gcd' );
     
    // Compute the gcd of random tuples...
    var x, y, z, arr, val;
    for ( var i = 0; i < 100; i++ ) {
        x = Math.round( Math.random()*50 );
        y = Math.round( Math.random()*50 );
        z = Math.round( Math.random()*50 );
        arr = [ x, y, z ];
        val = gcd( arr );
        console.log( arr, val );
    }

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

    $ node ./examples/index.js

    Tests

    Unit

    Unit tests use the Mocha test framework with Chai assertions. 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

    License

    MIT license.

    Copyright

    Copyright © 2014-2015. Athan Reines.

    Install

    npm i compute-gcd

    DownloadsWeekly Downloads

    69,520

    Version

    1.2.1

    License

    none

    Unpacked Size

    11.8 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar
    • avatar