diff --git a/javascript/ultra32/README.md b/javascript/ultra32/README.md index 1f62d23..f590071 100644 --- a/javascript/ultra32/README.md +++ b/javascript/ultra32/README.md @@ -1,2 +1,25 @@ -# ultra32 +# Ultra32 A vector package using the fast float32array + + +# Get started: + +To get started, install ultra32: +``` +npm install ultra32 --save +``` + +A ultra32 vector is just a Float32Array. + +``` +const vec = new Float32Array([0,0]); +``` + +You can perform multiple operations: +``` +add(vec,new Float32Array([1,2])); +mul(vec,3); +mirror(vec); + +console.log(vec); //Float32Array [ -3, -6 ] +``` diff --git a/javascript/ultra32/app.js b/javascript/ultra32/app.js new file mode 100644 index 0000000..d0e2546 --- /dev/null +++ b/javascript/ultra32/app.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function add(vector, other) { + for (let i = 0; i < vector.length; i++) { + vector[i] = vector[i] + other[i]; + } + return vector; +} +exports.add = add; +function sub(vector, other) { + for (let i = 0; i < vector.length; i++) { + vector[i] = vector[i] - other[i]; + } + return vector; +} +exports.sub = sub; +function div(vector, scalar) { + for (let i = 0; i < vector.length; i++) { + vector[i] /= scalar; + } + return vector; +} +exports.div = div; +function mul(vector, scalar) { + for (let i = 0; i < vector.length; i++) { + vector[i] *= scalar; + } + return vector; +} +exports.mul = mul; +function mirror(vector) { + for (let i = 0; i < vector.length; i++) { + vector[i] = -vector[i]; + } + return vector; +} +exports.mirror = mirror; diff --git a/javascript/ultra32/package-lock.json b/javascript/ultra32/package-lock.json new file mode 100644 index 0000000..36f26fd --- /dev/null +++ b/javascript/ultra32/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "ultra32", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/javascript/ultra32/package.json b/javascript/ultra32/package.json new file mode 100644 index 0000000..b9e1c7d --- /dev/null +++ b/javascript/ultra32/package.json @@ -0,0 +1,22 @@ +{ + "name": "ultra32", + "version": "1.0.0", + "description": "A vector package using the fast float32array", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "github", + "url": "https://github.com/Mateiadrielrafael/ultra32" + }, + "keywords": [ + "vector", + "float32array", + "webgl" + ], + "author": "Matei Adriel", + "license": "ISC", + "dependencies": {}, + "devDependencies": {} +}