Novelty Plastic Moustache

    compute-lcm
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/compute-lcm package

    1.1.2 • Public • Published

    Least Common Multiple

    NPM version Build Status Coverage Status Dependencies

    Computes the least common multiple (lcm).

    Note: the lcm is also known as the lowest common multiple or smallest common multiple and finds common use in calculating the lowest common denominator (lcd).

    Installation

    $ npm install compute-lcm

    For use in the browser, use browserify.

    Usage

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

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

    Computes the least common multiple (lcm) of two or more integers.

    var val = lcm( 21, 6 );
    // returns 42
     
    var val = lcm( 21, 6, 126 );
    // returns 126

    lcm( arr[, clbk] )

    Computes the least common multiple (lcm) of two or more integers.

    var val = lcm( [21, 6] );
    // returns 42
     
    var val = lcm( [21, 6, 126] );
    // returns 126

    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 = lcm( arr, getValue );
    // returns 48

    Notes

    • If provided a single integer argument or an array with a length less than 2, the function returns null.

    Examples

    var lcm = require( 'compute-lcm' );
     
    // Compute the lcm 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 = lcm( 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-lcm

    DownloadsWeekly Downloads

    236,532

    Version

    1.1.2

    License

    none

    Unpacked Size

    9.25 kB

    Total Files

    4

    Last publish

    Collaborators

    • kgryte
    • planeshifter