/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* formdft APL2 V1.0.0 *************************************************
* Formdft is called by quadoutc to obtain the formatted character *
* representation of the aplcb passed as argument. Here are *
* assumptions I made: *
*->For any array of dimensions a X b X ... X m X n, all n columns in *
* the final dimension n will be aligned. *
***********************************************************************/
#define INCLUDES STDIO+APLCB
#include "includes.h"
Aplcb formdft(rite)
Aplcb rite; /* apl variable to be printed. */
{
Errstop; Form; Formata; Formdfs; Perm;
Aplcb out;
int tempsave;
if (!(rite->aplflags & APLAPL))
return(form(NULL,rite)); /* simple array */
if (0==rite->aplcount)
return(formata(NULL,rite)); /* return empty */
tempsave = rite->aplflags & APLTEMP;
out = formdfs(perm(rite)); /* nested array */
rite->aplflags += tempsave; /* restore flag */
return(errstop(0,NULL,rite,out));
}