static char Sccsid
[] = "ae.c @(#)ae.c 1.1 10/1/82 Berkeley ";
char base_com
[] = {ADD
, MUL
};
register struct item
*p
, *q
;
q
= extend(DA
, i
, p
->datap
[0]);
d1
= p
->datap
[p
->size
-1];
p
->datap
[p
->size
-1] = 1.0;
for(i
=p
->size
-2; i
>= 0; i
--){
register struct item
*p
, *q
;
* first map 1 element vectors to scalars:
r
= newdat(DA
, p
->rank
+q
->rank
, p
->size
*q
->size
);
copy(IN
, p
->dim
, r
->dim
, p
->rank
);
copy(IN
, q
->dim
, r
->dim
+p
->rank
, q
->rank
);
for(p1
= &p
->datap
[p
->size
]; p1
> p
->datap
; ){
d1
= 1.0e38
; /* all else goes here */
for(p2
= &q
->datap
[q
->size
]; p2
> q
->datap
; ){
* scalar -- return true if arg is a scalar