HNHacker News
TopNewBestAskShowJobs

Jacobot

70 karma · joined March 19, 2018

submissionscomments
Jacobot··on Show HN: Blasjs – Pure Javascript implementation of BLAS
This library is for fast scientific computing, you can use it for games (its 100k minified and the matrix algos are extreemly fast),
Jacobot··on Show HN: Blasjs – Pure Javascript implementation of BLAS
Context is important, also the context is mentioned explicitly! All other BLAS javascript implementations are just fortran recompiles with "emscripten" to webassembly.

This is a (non emscripted) Javascript re-write (Typescript is a superset of Javascript)

Yes it is javascript the bundle is an UMD web/node file you can use in your browser!

Jacobot··on Show HN: Blasjs – Pure Javascript implementation of BLAS
BLAS is BLAS there is no "naive" or "expert" or "regular" variant.
Jacobot··on Show HN: Blasjs – Pure Javascript implementation of BLAS
* the distributed bundle is always javascript, * it is manual re-write from BLAS reference. * Typescript is a superset of Javascript,. * the repo is selfcontained, "npm install" will install webpack and all tools you need to build the bundle.
Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
I Want to put this here as a first level comment, some people (well actually only one) are making up stuff that JavaScript "fudges" floating point numbers.

Some ppl are going to make up drame to "sound interesting" but i dont see how that is FACTUAL.

The README contains over 8900 lines of 200+ well documented standalone code examples samples comparing JS and R code ,side by side for every function call.

THE RESULTS ARE EXACTLY THE SAME!!

Name dropping like web

Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
Javascript fudges numbers??? I don't see how making stuff up is helpfull.

The README contains over 8900 lines of 200+ well documented standalone examples with many many code samples comparing JS and R side by side for every function call.

THE RESULTS ARE EXACTLY THE SAME!!

You took the effort to throw dirt at JS, but could you not have glossed over the "proof" first?

You seem to not know that IEEE floating is a standard, I suggest you read up on that first

Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
The README in the github JS port has 9000 lines of documentation and code samples (R and JS side by side) to prove the output is the same for all functions.

R is fudging numbers? I dont think so, neither does JS or excel btw.

R shows limited precision to a human, you can control this with options('digits'=22) Example

> options(digits=22)

> 1/1.2

[1] 0.83333333333333337

> options(digits=4)

> 1/1.2

[1] 0.8333

Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
...apples and oranges.... R doesn't support non IEEE standard floats, what you are basically doing is using an external library (GMP), and special functions for addition, multiplication from that package.

Nor can any of the functions in R "base" use GMP.

Again, nobody is fudging numbers, neither R, Java, C, or JS because floating point is implemented on hardware so this argumument is a moot one.

Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
Thanks, Note, JS is breaking benchmarks if compared to Python!
Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
Floating point IEEE 754 is implemented in the hardware (Intel, AMD). It is a feature of the hardware not any language. We need facts not sophism.
Jacobot··on Show HN: libRmath.js – A port of R's Nmath numeric library to JavaScript
Hi, I am owner of libRmath.js and porting BLAS at the moment,

Python and R cant use SIMD either (out of the box), infact no compiler can use SIMD efficiently, therefore gotoBlAS is directly written in assembler for this reason.

Secondly WebGL2 as a vast array of new texture types and Mozilla is implementing the ARB shader. But this has nothing to do with JS perse, because shader langauge is not JS, (its more C like).