CELLWR(S_,F_,I_,V,n,s) [Cell write. S_ is either a sample point for a cell c in r-dimensional space, for some r>=1, or NULL. F_ is either or a defining formula for c, or NULL. I_ is a cell index for c. V is a variable list of length r. n is a nonnegative @beta -digit@. s is a @beta -digit@. The cell index and dimension of c are written in the output stream. If S_>NULL and s>0, then an exact description of the sample point of c is written in the output stream. If S_>NULL and n>0, a decimal approximation to the sample point of c is written with n decimal digits following the decimal point of each coordinate. If F_~=NULL, the defining formula of c is written. The output buffer is emptied beforehand and afterwards.] const NULL=0, UNDEF=-1. safe i,M,b,b1,J,d,u,v,r. (1) U=LIST1("U"); A=LIST1("A"); d=CELDIM(I_); AWRITE(d); CLOUT("-cell "); OWRITE(I_); if S_>NULL then { S1=S_; ADV3(S1;M,b,J,S1); d=PDEG(M); r=LENGTH(b); clout(" degree="); awrite(d); FIRST2(S1;z,z#); CLOUT(" sp time="); CWRITE('('); AWRITE(z); CWRITE(','); AWRITE(z#); CWRITE(')'); if n>0 then { CLOUT(" sp="); APDWR(M,J,b,n) } } else clout(" sp unconstructed"); EMPTOB; SLMARG(5); if s>0&S_>NULL then { blines(1); CLOUT("sample point coordinates (exact) ="); EMPTOB; SLMARG(10); if PDEG(M)>1 then { CLOUT("Let A be the unique root of"); IPSW(M,U); FIRST2(J;u,v); CLOUT("between "); RNWRIT(u); CLOUT(" and "); RNWRIT(v); EMPTOB; CLOUT("Coordinates as elements of Q(A) are") }; b'=b; for i=1,...,r do { ADV(b';b1,b'); RPSW(b1,A) }; SLMARG(5) }; if F_>NULL then { CLOUT("defining formula"); emptob; QFFWR(F_,V) }; SLMARG(0); return.. #Jf-