Annotation of researchv10no/cmd/post.src/postmd/postmd.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *
                      3:  * An interval list used to map matrix elements into integers in the range 0 to
                      4:  * 254 representing shades of gray on a PostScript printer. The list can be given
                      5:  * using the -i option or can be set in the optional header that can preceed each
                      6:  * matrix. The list should be a comma or space separated list that looks like,
                      7:  *
                      8:  *             num1,num2, ... ,numn
                      9:  *
                     10:  * where each num is a floating point number. The list must be given in increasing
                     11:  * numerical order. The n numbers in the list partion the real line into 2n+1
                     12:  * regions given by,
                     13:  *
                     14:  *             region1         element < num1
                     15:  *             region2         element = num1
                     16:  *             region3         element < num2
                     17:  *             region4         element = num3
                     18:  *                .                 .
                     19:  *                .                 .
                     20:  *                .                 .
                     21:  *             region2n        element = numn
                     22:  *             region2n+1      element > numn
                     23:  *
                     24:  * Every number in a given region is mapped into an integer in the range 0 to 254
                     25:  * and that number, when displayed on a PostScript printer using the image operator,
                     26:  * prints as a square filled with a gray scale that reflects the integer that was
                     27:  * chosen. 0 maps to black and 255 white (that's why 255 is normally omitted).
                     28:  *
                     29:  * The shades of gray chosen by the program are normally generated automatically,
                     30:  * but can be reassigned using the -g option or by including a grayscale line in
                     31:  * the optional header. The grayscale list is comma or space separated list of
                     32:  * integers between 0 and 255 that's used to map individual regions into arbitray
                     33:  * shade of gray, thus overriding the default choice made in the program. The list
                     34:  * should look like,
                     35:  *
                     36:  *             color1,color2, ... ,color2n+1
                     37:  *
                     38:  * where color1 applies to region1 and color2n+1 applies to region2n+1. If less
                     39:  * than 2n+1 numbers are given the default assignments will be used for the missing
                     40:  * regions. Each color must be an integer in the range 0 to 255.
                     41:  *
                     42:  * The default interval list is given below. The default grayscale maps 254 (almost
                     43:  * white) into the first region and 0 (black) into the last.
                     44:  *
                     45:  */
                     46: 
                     47: #define DFLTILIST      "-1,0,1"
                     48: 
                     49: /*
                     50:  *
                     51:  * The active interval list is built from an interval string and stored in an array
                     52:  * whose elements are of type Ilist.
                     53:  *
                     54:  */
                     55: 
                     56: typedef struct  {
                     57:        double  val;                    /* only valid in kind is ENDPOINT */
                     58:        int     color;                  /* gray scale color */
                     59:        long    count;                  /* statistics for each region */
                     60: } Ilist;
                     61: 
                     62: /*
                     63:  *
                     64:  * Non-integer function declarations.
                     65:  *
                     66:  */
                     67: 
                     68: char   *savestring();
                     69: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.