Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    galoispublic

    node-galois

    Build Status

    This is a native Node.js module (C/C++) that wraps James S. Plank's Galois.c code (http://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/), making all of the functionality available in Node.js. Please refer to that page for documentation about the non-JS bits (function documentation, optimization of single vs table calls, etc.).

    This package also adds a little more protection when creating tables to prevent segfaults. However, it's still possible to run into segfaults. For example, calling multtable_multiply(a, b, w) before create_mult_tables(w) will be allowed and cause a segfault.

    Examples

    var gf = require('galois');
     
    var w = 8; //2^8 = GF256 
     
    //slower way 
    gf.single_multiply(2, 3, w); //6 
    gf.single_divide(6, 3, w); //2 
     
    //faster way - calc and store the table in RAM, so arithmetic is simple lookups 
    gf.create_mult_tables(w); 
    gf.multtable_multiply(2, 3, w); //6 
    gf.multtable_divide(6, 3, w); //2 

    Install

    node-galois is available in NPM, so simply npm install galois to get it in your application.

    If you're looking to develop, make build will compile everything (does a node-gyp rebuild) and make check will run the tests (this is was npm test invokes).

    License

    Due to the original Galois code being released under GPL v2, this module is released under GPL v3.

    install

    npm i galois

    Downloadsweekly downloads

    2

    version

    0.2.0

    license

    GPL-3.0

    repository

    github.com

    last publish

    collaborators

    • avatar