Metropoli BBS
VIEWER: comexpb.c MODE: TEXT (ASCII)
/* Copyright (C) 1992, 1995 by Thomas Glen Smith.  All Rights Reserved. */
/* comexpb APL2 V1.0.0 *************************************************
* Called by compress and expand to obtain the output aplcb.            *
***********************************************************************/
#define INCLUDES APLCB
#include "includes.h"
Aplcb comexpb(rite,axis,axicnt,botcnt,topcnt,pdatatyp)
Aplcb rite;
int axis,axicnt,botcnt,topcnt,*pdatatyp;
{
	Errstop; Getcb; Imax; Intcopy;
	Aplcb out;
	int *dimptr;

	out = getcb(NULL,botcnt*axicnt*topcnt,
		(*pdatatyp = rite->aplflags & (APLMASK + APLAPL)) + APLTEMP,
		imax(1,rite->aplrank),NULL);
	/* now define output dimensions */
	if (out->aplrank > 1) /* rank > vector? */
		dimptr = intcopy(out->apldim,rite->apldim,out->aplrank,1);
	*(out->apldim + axis - 1) = axicnt; /* set axis dimension */
	return(errstop(0,NULL,NULL,out));
}
[ RETURN TO DIRECTORY ]