#include <stdlib.h>
#define is_cmacs  /* switch for cmacs.h */
#include "cmacs.h"

unsigned char *ISQRT;			/* square root table */
unsigned MainInt *ISQ;			/* square table */

void InitCmacs() /* set up globally used tables */
   { MainInt i,j,k;
     ISQRT = (unsigned char *) malloc(ISQRTSZ2*sizeof(unsigned char));
     ISQ = (unsigned MainInt *) malloc(2*ISQSZ*sizeof(unsigned MainInt));
     ISQ += ISQSZ;  /* address table from middle, for + and - args */
     k = 0;    /* square root table */
     for (i=0; i<ISQRTSZ; i++) for (j=0; j<i+i+1; j++) ISQRT[k++]=i;
     j = 0;    /* square table */
     for (i=0; i<ISQSZ; i++) {ISQ[i] = ISQ[-i] = j; j += i+i+1;};
   }

