536 |
x->a.a_self = 0; |
x->a.a_self = 0; |
537 |
x->a.a_rank = rank; |
x->a.a_rank = rank; |
538 |
x->a.a_displaced = Cnil; |
x->a.a_displaced = Cnil; |
539 |
x->a.a_dims = AR_ALLOC(alloc_relblock,rank,int); |
x->a.a_dims = AR_ALLOC(alloc_relblock,rank,fixnum); |
540 |
i = 0; |
i = 0; |
541 |
v = dimensions; |
v = dimensions; |
542 |
while (i < rank) |
while (i < rank) |
754 |
/* add diff to body of x and arrays diisplaced to it */ |
/* add diff to body of x and arrays diisplaced to it */ |
755 |
|
|
756 |
void |
void |
757 |
adjust_displaced(object x, long diff) |
adjust_displaced(object x, long diff) { |
758 |
{ |
|
759 |
if (x->ust.ust_self != NULL) |
if (x->ust.ust_self != NULL) |
760 |
x->ust.ust_self = (char *)((long)(x->a.a_self) + diff); |
x->ust.ust_self = (char *)((long)(x->a.a_self) + diff); |
761 |
for (x = Mcdr(x->ust.ust_displaced); x != Cnil; x = Mcdr(x)) |
for (x = Scdr(x->ust.ust_displaced); x != Cnil; x = Scdr(x)) |
762 |
adjust_displaced(Mcar(x), diff); |
adjust_displaced(Mcar(x), diff); |
763 |
|
|
764 |
} |
} |
765 |
|
|
766 |
|
|