* monadic epsilon and encode /rww
if(p
->rank
>2 || p
->type
!=CH
)
dim0
= p
->rank
<2 ? 1 : p
->dim
[0];
dim1
= p
->rank
<2 ? p
->size
: p
->dim
[1];
menc0() /* dredge up a function and put it into an array*/
if(p
->size
== 0 || p
->rank
>1 || p
->size
>= NAMS
)
/* set up the name in search format */
copy(CH
, p
->datap
, name
, p
->size
);
/* search for name among the functions */
for(np
= nlist
; np
->namep
; np
++)
if(equal(np
->namep
,name
))
/* if not found then domain error */
lseek(ifile
, np
->label
, 0); /* look up function */
/* compute max width and height */
dim1
= dim1
< len
? len
: dim1
;
afree(p
); /* release old variable */
/* create new array and put function in */
p
= newdat(CH
, 2, dim0
*dim1
);
lseek(ifile
, np
->label
, 0);
*dp
++ = ' '; /* fill w/blanks*/
/* put the new array on the stack */
/* reset the current file */
menc1()/* change numbers into characters */
/* zeroize size information vector */
/* pick up the argument */
/* find the maximum # of chars in any # */
numsz
= param
[1] + param
[2] + !!param
[2] + param
[3] + 1;
/* rowsize is max # size x last dim */
rowsz
= p
->rank
? p
->dim
[p
->rank
-1] : 1;
/* row size x # of rows(incl blank)*/
for(j
=i
=0; i
<p
->rank
; i
++)
/* make new data and fill with blanks */
q
= newdat(CH
, 2, total
);
/* use putchar()to fill up the array */
/* put it on the stack */