version 1.1, 2004/12/18 16:50:10 |
version 1.2, 2005/01/17 07:43:24 |
|
|
/* |
/* |
* $OpenXM$ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/iarray.c,v 1.1 2004/12/18 16:50:10 saito Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "base.h" |
#include "base.h" |
|
|
m->root = (pointer)Im; |
m->root = (pointer)Im; |
m->toor = (pointer)Im; |
m->toor = (pointer)Im; |
m->clen = 1; |
m->clen = 1; |
MEnt(row * m->row + col, row, col, body, &Im->ient[0]); |
MEnt(row * m->col + col, row, col, body, &Im->ient[0]); |
Im->ient[1] = zent; |
Im->ient[1] = zent; |
} else { |
} else { |
Im = (pointer)m->toor; |
Im = (pointer)m->toor; |
|
|
++(m->clen); |
++(m->clen); |
Imt->fore = (pointer)Im; |
Imt->fore = (pointer)Im; |
Imt->next = 0; |
Imt->next = 0; |
MEnt(row * m->row + col, row, col, body, &Im->ient[d]); |
MEnt(row * m->col + col, row, col, body, &Im->ient[d]); |
Imt->ient[0] = zent; |
Imt->ient[0] = zent; |
} else { |
} else { |
MEnt(row * m->row + col, row, col, body, &Im->ient[d]); |
MEnt(row * m->col + col, row, col, body, &Im->ient[d]); |
Im->ient[d + 1] = zent; |
Im->ient[d + 1] = zent; |
} |
} |
} |
} |
|
|
|
|
if ( m->row <= row || m->col <= col || row < 0 || col < 0 ) |
if ( m->row <= row || m->col <= col || row < 0 || col < 0 ) |
error("putim : Out of rage"); |
error("putim : Out of rage"); |
cr = row * m->row + col; |
cr = row * m->col + col; |
|
printf("cr = %d\n",cr); |
if ( ! m->clen ) { |
if ( ! m->clen ) { |
if( trg == 0 ) return; |
if( trg == 0 ) return; |
AppendIent(m, row, col, trg); |
AppendIent(m, row, col, trg); |
|
|
/* zero matrix case */ |
/* zero matrix case */ |
*trg = (Obj)0; |
*trg = (Obj)0; |
} else { |
} else { |
cr = row * m->row + col; |
cr = row * m->col + col; |
c = -1; |
c = -1; |
Im = (pointer)m->root; |
Im = (pointer)m->root; |
GetNextIent( &Im, &ent, &c); |
GetNextIent( &Im, &ent, &c); |