switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
+ double *a = A->a;
+ double *b = B->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
jb[ib[ja[j]]] = i;
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
+ double *a = A->a;
+ double *b = B->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
jb[ib[ja[j]]] = i;
break;
}
case MATRIX_TYPE_INTEGER:{
- int *ai = (int*) A->a;
- int *bi = (int*) B->a;
+ int *ai = A->a;
+ int *bi = B->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
jb[ib[ja[j]]] = i;
switch (type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
+ double *a = A->a;
+ double *b = B->a;
for (i = 0; i <= m; i++) if (ia[i] != ib[i]) goto RETURN;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
+ double *a = A->a;
+ double *b = B->a;
for (i = 0; i <= m; i++) if (ia[i] != ib[i]) goto RETURN;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
break;
}
case MATRIX_TYPE_INTEGER:{
- int *ai = (int*) A->a;
- int *bi = (int*) B->a;
+ int *ai = A->a;
+ int *bi = B->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
mask[ja[j]] = j;
a = A->a;
switch (A->type){
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
printf("{%d, %d}->%f",i+1, ja[j]+1, a[j]);
}
break;
case MATRIX_TYPE_COMPLEX:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
printf("{%d, %d}->%f + %f I",i+1, ja[j]+1, a[2*j], a[2*j+1]);
printf("\n");
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
printf("{%d, %d}->%d",i+1, ja[j]+1, ai[j]);
a = A->a;
switch (A->type){
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->nz; i++){
printf("{%d, %d}->%f",ia[i]+1, ja[i]+1, a[i]);
if (i != A->nz - 1) printf(",");
printf("\n");
break;
case MATRIX_TYPE_COMPLEX:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->nz; i++){
printf("{%d, %d}->%f + %f I",ia[i]+1, ja[i]+1, a[2*i], a[2*i+1]);
if (i != A->nz - 1) printf(",");
printf("\n");
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
for (i = 0; i < A->nz; i++){
printf("{%d, %d}->%d",ia[i]+1, ja[i]+1, ai[i]);
if (i != A->nz) printf(",");
a = A->a;
switch (A->type){
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
fprintf(f, "%d %d %16.8g\n",i+1, ja[j]+1, a[j]);
}
break;
case MATRIX_TYPE_COMPLEX:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
fprintf(f, "%d %d %16.8g %16.8g\n",i+1, ja[j]+1, a[2*j], a[2*j+1]);
}
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
fprintf(f, "%d %d %d\n",i+1, ja[j]+1, ai[j]);
a = A->a;
switch (A->type){
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->nz; i++){
fprintf(f, "%d %d %16.8g\n",ia[i]+1, ja[i]+1, a[i]);
}
break;
case MATRIX_TYPE_COMPLEX:
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->nz; i++){
fprintf(f, "%d %d %16.8g %16.8g\n",ia[i]+1, ja[i]+1, a[2*i], a[2*i+1]);
}
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
for (i = 0; i < A->nz; i++){
fprintf(f, "%d %d %d\n",ia[i]+1, ja[i]+1, ai[i]);
}
switch (type){
case MATRIX_TYPE_REAL:
- val = (double*) val0;
- a = (double*) A->a;
+ val = val0;
+ a = A->a;
for (i = 0; i < nz; i++){
if (irn[i] < 0 || irn[i] >= m || jcn[i] < 0 || jcn[i] >= n) {
assert(0);
ia[0] = 0;
break;
case MATRIX_TYPE_COMPLEX:
- val = (double*) val0;
- a = (double*) A->a;
+ val = val0;
+ a = A->a;
for (i = 0; i < nz; i++){
if (irn[i] < 0 || irn[i] >= m || jcn[i] < 0 || jcn[i] >= n) {
assert(0);
ia[0] = 0;
break;
case MATRIX_TYPE_INTEGER:
- vali = (int*) val0;
- ai = (int*) A->a;
+ vali = val0;
+ ai = A->a;
for (i = 0; i < nz; i++){
if (irn[i] < 0 || irn[i] >= m || jcn[i] < 0 || jcn[i] >= n) {
assert(0);
ic[0] = 0;
switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
- double *c = (double*) C->a;
+ double *a = A->a;
+ double *b = B->a;
+ double *c = C->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
mask[ja[j]] = nz;
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
- double *c = (double*) C->a;
+ double *a = A->a;
+ double *b = B->a;
+ double *c = C->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
mask[ja[j]] = nz;
break;
}
case MATRIX_TYPE_INTEGER:{
- int *a = (int*) A->a;
- int *b = (int*) B->a;
- int *c = (int*) C->a;
+ int *a = A->a;
+ int *b = B->a;
+ int *c = C->a;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
mask[ja[j]] = nz;
assert(A->format == FORMAT_CSR);
assert(A->type == MATRIX_TYPE_REAL);
- a = (double*) A->a;
+ a = A->a;
ia = A->ia;
ja = A->ja;
m = A->m;
switch (A->type){
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
if (v){
if (!u) u = gv_calloc((size_t)m, sizeof(double));
for (i = 0; i < m; i++){
}
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
if (v){
if (!u) u = gv_calloc((size_t)m, sizeof(double));
for (i = 0; i < m; i++){
switch (type){
case MATRIX_TYPE_REAL:
{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
- double *c = (double*) C->a;
+ double *a = A->a;
+ double *b = B->a;
+ double *c = C->a;
ic[0] = 0;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
break;
case MATRIX_TYPE_COMPLEX:
{
- double *a = (double*) A->a;
- double *b = (double*) B->a;
- double *c = (double*) C->a;
+ double *a = A->a;
+ double *b = B->a;
+ double *c = C->a;
ic[0] = 0;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
break;
case MATRIX_TYPE_INTEGER:
{
- int *a = (int*) A->a;
- int *b = (int*) B->a;
- int *c = (int*) C->a;
+ int *a = A->a;
+ int *b = B->a;
+ int *c = C->a;
ic[0] = 0;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
nz = 0;
- double *a = (double*) A->a;
- double *b = (double*) B->a;
- double *c = (double*) C->a;
- double *d = (double*) D->a;
+ double *a = A->a;
+ double *b = B->a;
+ double *c = C->a;
+ double *d = D->a;
id[0] = 0;
for (i = 0; i < m; i++){
for (j = ia[i]; j < ia[i+1]; j++){
sta = ia[0];
switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] != i){
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] != i){
break;
}
case MATRIX_TYPE_INTEGER:{
- int *a = (int*) A->a;
+ int *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] != i){
sta = ia[0];
switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] < i){
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] < i){
break;
}
case MATRIX_TYPE_INTEGER:{
- int *a = (int*) A->a;
+ int *a = A->a;
for (i = 0; i < A->m; i++){
for (j = sta; j < ia[i+1]; j++){
if (ja[j] < i){
ja = A->ja;
switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
deg = ia[i+1] - ia[i];
for (j = ia[i]; j < ia[i+1]; j++){
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
+ double *a = A->a;
for (i = 0; i < A->m; i++){
deg = ia[i+1] - ia[i];
for (j = ia[i]; j < ia[i+1]; j++){
SparseMatrix_delete(B);
A = SparseMatrix_remove_diagonal(A);
A->a = gv_calloc((size_t)A->nz, sizeof(double));
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->nz; i++) a[i] = 1.;
A->type = MATRIX_TYPE_REAL;
A->size = sizeof(double);
}
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < A->m; i++){
for (j = A->ia[i]; j < A->ia[i+1]; j++){
a[j] = fun(a[j]);
switch (A->type){
case MATRIX_TYPE_COMPLEX:
- aa = (double*) A->a;
+ aa = A->a;
a = gv_calloc((size_t)A->nz, sizeof(double));
for (i = 0; i < A->nz; i++) a[i] = aa[i*2];
break;
case MATRIX_TYPE_REAL:
- a = (double*) A->a;
+ a = A->a;
break;
case MATRIX_TYPE_INTEGER:
- ai = (int*) A->a;
+ ai = A->a;
a = gv_calloc((size_t)A->nz, sizeof(double));
for (i = 0; i < A->nz; i++) a[i] = (double) ai[i];
break;
switch (A->type){
case MATRIX_TYPE_REAL:{
- double *a = (double*) A->a;
+ double *a = A->a;
double *val;
irn = gv_calloc((size_t)nz, sizeof(int));
jcn = gv_calloc((size_t)nz, sizeof(int));
val[nz++] = a[j];
}
}
- v = (void*) val;
+ v = val;
break;
}
case MATRIX_TYPE_COMPLEX:{
- double *a = (double*) A->a;
+ double *a = A->a;
double *val;
irn = gv_calloc((size_t)nz, sizeof(int));
nz++;
}
}
- v = (void*) val;
+ v = val;
break;
}
case MATRIX_TYPE_INTEGER:{
- int *a = (int*) A->a;
+ int *a = A->a;
int *val;
irn = gv_calloc((size_t)nz, sizeof(int));
nz++;
}
}
- v = (void*) val;
+ v = val;
break;
}
case MATRIX_TYPE_PATTERN:
free(A->a);
A->a = gv_calloc((size_t)A->nz, sizeof(double));
- a = (double*) (A->a);
+ a = A->a;
for (i = 0; i < A->nz; i++) a[i] = 1.;
A->type = MATRIX_TYPE_REAL;
A->size = sizeof(double);
for (i = 1; i <= m; i++) (A->ia)[i] = (A->ia)[i-1] + n;
ja = A->ja;
- a = (double*) A->a;
+ a = A->a;
for (i = 0; i < m; i++){
for (j = 0; j < n; j++) {
ja[j] = j;