/* 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)); }