home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / gems / gemsii / peano / types.h < prev   
Encoding:
C/C++ Source or Header  |  1991-10-02  |  1.1 KB  |  40 lines

  1. /* types.h */
  2. /* types and #define's for peano curve algorithm */
  3.  
  4. /* copyright Ken Musgrave */
  5. /* June 1986 */
  6.  
  7.  
  8. #define FB_SIZE        1024        /* frame buffer size */
  9.  
  10. #define MAX_DIMENSIONS    5        /* dimensionality of space */
  11. #define MAX_PRECISION    11        /* number of bits/dimension -1 */
  12.  
  13. #define ODD(x)        ( ( (x) & 0x1 )  ?  1 : 0 )
  14.  
  15.                     /* right circular shift */
  16. #define RT_CSHFT( byte, shift, dimensions, bytemask ) \
  17.     ((((byte) >> (shift)) | ((byte) << dimensions - (shift))) & bytemask)
  18.  
  19.  
  20. typedef char    byte;            /* size must be >= MAX_PRECISION */
  21.  
  22. typedef int    vector[MAX_DIMENSIONS];    /* n-space vector */
  23.  
  24. typedef byte    r_array[MAX_PRECISION];    /* vector of type "r" in algo */
  25.  
  26.  
  27. /* global variable section */
  28.  
  29. int    J[MAX_PRECISION];         /* storage for principal positions */
  30.  
  31.                     /* global arrays */
  32. r_array    rho, sigma, tau, tilde_sigma, tilde_tau, omega, alpha;
  33.  
  34. byte    bitmask[MAX_DIMENSIONS];    /* to be filled with bit masks */
  35.  
  36. int    dimensions;            /* number of dimensions being filled */
  37. int    precision;            /* number of bits of precision used */
  38. byte    bytemask;             /* masks "dimensions" bits */
  39.  
  40.