version 1.12, 2016/03/14 04:15:05 |
version 1.13, 2017/03/09 00:46:44 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/bfaux.c,v 1.11 2015/08/25 18:41:03 ohara Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/builtin/bfaux.c,v 1.12 2016/03/14 04:15:05 noro Exp $ */ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
|
|
Line 624 void Prk_ratmat(NODE arg,LIST *rp) |
|
Line 624 void Prk_ratmat(NODE arg,LIST *rp) |
|
|
|
n = fv->len; |
n = fv->len; |
d = mat->len; |
d = mat->len; |
num = (struct smat *)MALLOC(n*sizeof(struct smat)); |
num = (struct smat *)MALLOC(d*sizeof(struct smat)); |
for ( i = 0; i < d; i++ ) { |
for ( i = 0; i < d; i++ ) { |
num[i].rlen = (int *)MALLOC(n*sizeof(int)); |
num[i].rlen = (int *)MALLOC_ATOMIC(n*sizeof(int)); |
num[i].row = (struct jv **)MALLOC(n*sizeof(struct jv *)); |
num[i].row = (struct jv **)MALLOC(n*sizeof(struct jv *)); |
mati = (MAT)mat->body[i]; |
mati = (MAT)mat->body[i]; |
b = (Obj **)mati->body; |
b = (Obj **)mati->body; |
Line 634 void Prk_ratmat(NODE arg,LIST *rp) |
|
Line 634 void Prk_ratmat(NODE arg,LIST *rp) |
|
for ( len = k = 0; k < n; k++ ) |
for ( len = k = 0; k < n; k++ ) |
if ( b[j][k] ) len++; |
if ( b[j][k] ) len++; |
num[i].rlen[j] = len; |
num[i].rlen[j] = len; |
num[i].row[j] = (struct jv *)MALLOC(len*sizeof(struct jv)); |
if ( !len ) |
for ( s = k = 0; k < n; k++ ) |
num[i].row[j] = 0; |
if ( b[j][k] ) { |
else { |
num[i].row[j][s].j = k; |
num[i].row[j] = (struct jv *)MALLOC_ATOMIC((len)*sizeof(struct jv)); |
num[i].row[j][s].v = ToReal((Num)b[j][k]); |
for ( s = k = 0; k < n; k++ ) |
s++; |
if ( b[j][k] ) { |
} |
num[i].row[j][s].j = k; |
|
num[i].row[j][s].v = ToReal((Num)b[j][k]); |
|
s++; |
|
} |
|
} |
} |
} |
} |
} |
f = (double *)MALLOC(n*sizeof(double)); |
f = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
for ( j = 0; j < n; j++ ) |
for ( j = 0; j < n; j++ ) |
f[j] = ToReal((Num)fv->body[j]); |
f[j] = ToReal((Num)fv->body[j]); |
w = (double *)MALLOC(n*sizeof(double)); |
w = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k1 = (double *)MALLOC(n*sizeof(double)); |
k1 = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k2 = (double *)MALLOC(n*sizeof(double)); |
k2 = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k3 = (double *)MALLOC(n*sizeof(double)); |
k3 = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k4 = (double *)MALLOC(n*sizeof(double)); |
k4 = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k5 = (double *)MALLOC(n*sizeof(double)); |
k5 = (double *)MALLOC_ATOMIC(n*sizeof(double)); |
k6 = (double *)MALLOC(n*sizeof(double)); |
k6 = (double *)MALLOC(n*sizeof(double)); |
nd = 0; |
nd = 0; |
switch ( ord ) { |
switch ( ord ) { |