0.0.1 • Published 9 years ago

validate-asm v0.0.1

Weekly downloads
2
License
ISC
Repository
github
Last release
9 years ago

Codeship Status for alexanderGugel/validate-asm

validate-asm

Like JSLint, but for asm.js

example

Let's say you have an asm module called GeometricMean.js:

function GeometricMean(stdlib, foreign, buffer) {
  "use asm";

  var exp = stdlib.Math.exp;
  var log = stdlib.Math.log;
  var values = new stdlib.Float64Array(buffer);

  function logSum(start, end) {
    start = start|0;
    end = end|0;

    var sum = 0.0, p = 0, q = 0;

    // asm.js forces byte addressing of the heap by requiring shifting by 3
    for (p = start << 3, q = end << 3; (p|0) < (q|0); p = (p + 8)|0) {
      sum = sum + +log(values[p>>3]);
    }

    return +sum;
  }

  function geometricMean(start, end) {
    start = start|0;
    end = end|0;

    return +exp(+logSum(start, end) / +((end - start)|0));
  }

  return { geometricMean: geometricMean };
}

module.exports = GeometricMean;

In order to validate it, simply run

validate-asm GeometricMean.js

That's it!

install

With npm do:

npm install -g validate-asm

usage

Usage: validate-asm [entry files] {OPTIONS}

Standard Options:

    --help, -h  Show this message

Specify a parameter.

license

ISC