mirror of
https://github.com/jlengrand/LAFF.git
synced 2026-03-10 08:31:21 +00:00
48 lines
983 B
JavaScript
Executable File
48 lines
983 B
JavaScript
Executable File
function random_array(n, arr){
|
|
for (var i =0; i != n; ++i)
|
|
arr.push(Math.ceil(Math.random()*3) *
|
|
Math.pow(-1,Math.floor(Math.random()*2)));
|
|
}
|
|
function unitfy(arr,lda){
|
|
var n = Math.sqrt(arr.length);
|
|
for (var i = 0; i != n; ++i){
|
|
arr[i*lda+i] = 1;
|
|
}
|
|
}
|
|
|
|
function triangularize(arr, upper){
|
|
var n = Math.sqrt(arr.length);
|
|
|
|
for (var i = 0; i!= n; ++i){
|
|
for (var j = i+1; j!= n; ++j){
|
|
if (!upper){
|
|
arr[i*n+j]=0;
|
|
}
|
|
else{
|
|
arr[j*n+i]=0;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
function multiply_matrix(m, n, k, AA, lda, BB, ldb, CC, ldc){
|
|
//assume column major order
|
|
for (var i0 = 0; i0 != n; ++i0){
|
|
for (var i1 = 0; i1 != m; ++i1){
|
|
for (var i2 = 0; i2 != k; ++i2){
|
|
CC[i0*ldc+i1] += AA[i2*lda+i1] * BB[i0*ldb+i2];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function zero_array(n, arr){
|
|
if (arr.length >=n){
|
|
for (var i = 0; i != arr.length; ++i)
|
|
arr[i] = 0;
|
|
}
|
|
else{
|
|
for (var i =0; i != n; ++i)
|
|
arr.push(0);
|
|
}
|
|
} |