Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed the Projector infinite loop issue
When closure compilation is turned on, it uses prototype definitions to mangle and optimize the calls. This made some method not defined statically problematic and it seems to have turned `numeric.div` into something else. According to numericjs, unlike other methods we use like dot and transpose, is genearted dynamically from numeric.ops2 and Closure seems to not handle it well. https://github.com/sloisel/numeric/blob/master/src/numeric.js Concretely, it turns numeric.div(a, b) into mangledName(numeric, a) and this led division operation to infinitely loop. ``` c = d.slice(0, a.PCA_SAMPLE_SIZE); c = Oa(numeric, numeric.dot(numeric.transpose(c), c)); var e = numeric.svd(c) ``` In above code snippet, `Oa` is the `div` method.
- Loading branch information