/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* decodbl APL2 V1.0.0 *************************************************
* Rite is treated as one or more vectors along its first axis. Each *
* vector is converted to a scalar according to the vector of radices *
* along the last axis of left. Translate to floating point. *
***********************************************************************/
#define INCLUDES APLCB
#include "includes.h"
Aplcb decodbl(left,rite)
Aplcb left,rite;
{
Decodeb; Innrcom; Matchok;
int datatyp,laxicnt,laxis,lbotcnt,lincr,ltopcnt,
raxicnt,rbotcnt,rincr,rtopcnt;
double *dataout,*ldata,*rdata;
Aplcb out;
if (!matchok(&left,&rite,APLNUMB))
return(NULL);
out = innrcom(0,left,rite,&laxis,
&laxicnt,&lbotcnt,<opcnt,&lincr,
&raxicnt,&rbotcnt,&rtopcnt,&rincr,
&datatyp,(char**)&dataout,(char**)&ldata,(char**)&rdata);
if (out == NULL)
return(NULL);
else return(decodeb(left,rite,out,laxis,dataout,ldata,rdata,
laxicnt,lbotcnt,ltopcnt,lincr,
raxicnt,rbotcnt,rtopcnt,rincr));
}