Metropoli BBS
VIEWER: inttran.c MODE: TEXT (ASCII)
/* Copyright (C) 1994 by Thomas Glen Smith.	All Rights Reserved. */
/* inttran APL2 V1.0.0 *************************************************
* Called by integes.  Converts an array of double to int, using fuzz   *
* to adjust, e.g. a	double value 2 may really be stored as 1.9999...   *
***********************************************************************/
#define INCLUDES 0
#include "includes.h"
void inttran(to, from, count, incr)
int *to;	    /* Location of output integer array. */
double *from; /* Location of input double array. */
int count;    /* count of items to be translated. */
int incr;     /* 1 if input is array, 0 if input is single value */
{
	extern double fuzz;
	int j;
	double f,g;

	while(count--) {
		if (0.0 > (f = *from)) {
			if (f != (g = (j = f)))
				j--; /* next lower integer */
		}
		else j = (f + fuzz); /* e.g. 2 maybe 1.9... */
		*to++ = j;
          from += incr;
	}
}
[ RETURN TO DIRECTORY ]