organizing math module - moving qr

This commit is contained in:
Val Erastov (xibyte) 2020-07-19 21:54:49 -07:00
parent a660ca0645
commit e2aa04a365
5 changed files with 15 additions and 14 deletions

View file

@ -97,4 +97,9 @@ export function insertAfter(arr, item, toAdd) {
}
}
export function fillArray(a, fromIndex, toIndex,val) {
for (let i = fromIndex; i < toIndex; i++)
a[i] = val;
}
export const EMPTY_ARRAY = Object.freeze([]);

View file

@ -1,5 +1,5 @@
import {fillArray} from '../utils/utils'
import {_vec} from "../../../modules/math/vec";
import {_vec} from "./vec";
import {fillArray} from "gems/iterables";
/** @constructor */
function QR(matrix) {

View file

@ -1,9 +1,9 @@
import * as utils from '../../utils/utils'
import QR from '../../math/qr'
import QR from 'math/qr'
import LMOptimizer from 'math/optim/lm'
import {ConstantWrapper, EqualsTo} from './solverConstraints'
import {dog_leg} from 'math/optim/dogleg'
import {newVector} from 'math/vec';
import {fillArray} from "gems/iterables";
/** @constructor */
@ -38,7 +38,7 @@ System.prototype.makeJacobian = function() {
var cParams = c.params;
var grad = [];
utils.fillArray(grad, 0, cParams.length, 0);
fillArray(grad, 0, cParams.length, 0);
c.gradient(grad);
for (var p = 0; p < cParams.length; p++) {
@ -56,7 +56,7 @@ System.prototype.fillJacobian = function(jacobi) {
var cParams = c.params;
var grad = [];
utils.fillArray(grad, 0, cParams.length, 0);
fillArray(grad, 0, cParams.length, 0);
c.gradient(grad);
for (var p = 0; p < cParams.length; p++) {
@ -94,7 +94,7 @@ System.prototype.calcGrad_ = function(out) {
var cParams = c.params;
var grad = [];
utils.fillArray(grad, 0, cParams.length, 0);
fillArray(grad, 0, cParams.length, 0);
c.gradient(grad);
for (var p = 0; p < cParams.length; p++) {
@ -116,7 +116,7 @@ System.prototype.calcGrad = function(out) {
var cParams = c.params;
var grad = [];
utils.fillArray(grad, 0, cParams.length, 0);
fillArray(grad, 0, cParams.length, 0);
c.gradient(grad);
for (var p = 0; p < cParams.length; p++) {

View file

@ -1,8 +1,9 @@
import {fillArray} from '../../utils/utils'
import {fillArray} from "gems/iterables";
/**
* This intermediate layer should be eliminated since constraint server isn't used anymore
*/
function createByConstraintName(name, params, values) {
switch (name) {
case "equal":

View file

@ -24,11 +24,6 @@ export const extend = function(func, parent) {
}
};
export function fillArray(a, fromIndex, toIndex,val) {
for (var i = fromIndex; i < toIndex; i++)
a[i] = val;
}
export function constRef(value) {
return function() {
return value;