1 /* BEGIN INCLUDE FILE ... data_type_info_.incl.pl1
 2 
 3    attributes of each Multics data type.  You may not rely on the dimension never exceeding 64
 4    James R. Davis 6 Apr 79
 5    Modified JMAthane June 83 to add "type" bit field
 6    Upped bound from 64 to 80 10/18/83 S. Herbst
 7    Added "hex" and "generic" bits 01/23/84 S. Herbst
 8    Upped bound from 80 to 86 01/81/84 R. Gray
 9    Upper bound from 86 to 87 JMAthane (for Pascal strings type dtype)
10 */
11 
12 
13 /****^  HISTORY COMMENTS:
14   1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525),
15      audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208):
16      The data_type_info array now has 87 entries instead of 86 due to
17      introduction of pascal_string_type_dtype.
18                                                    END HISTORY COMMENTS */
19 
20 dcl          data_type_info_$version_number fixed bin external static;
21      dcl     data_type_info_this_version fixed bin internal static options (constant) init (1);
22 
23      dcl     1 data_type_info_$info (87) aligned external static,
24                2 computational      bit (1) unal,
25                2 arithmetic         bit (1) unal,
26                2 arithmetic_attributes unal,                /* only valid if arithmetic */
27                  3 fixed            bit (1) unal,           /* PL/I type */
28                  3 complex          bit (1) unal,           /* PL/I mode */
29                  3 decimal          bit (1) unal,           /* PL/I base */
30                  3 signed           bit (1) unal,
31                  3 trailing_sign    bit (1) unal,           /* only valid if signed */
32                  3 decimal_attributes unal,                 /* only valid if decimal */
33                    4 packed_dec     bit (1) unal,           /* 4 bits per digit or 9 */
34                    4 digit_aligned  bit (1) unal,           /* valid for packed_dec only */
35                    4 overpunched    bit (1) unal,
36                2 char_string        bit (1) unal,           /* valid for non-arithmetic */
37                2 bit_string         bit (1) unal,           /* valid for non-arithmetic */
38                2 varying            bit (1) unal,           /* for bit or char only */
39                2 type               bit (1) unal,           /* this symbol is a type */
40                2 hex                bit (1) unal,           /* a hexadecimal type (eg., hex floating point) */
41                2 generic            bit (1) unal,           /* eg., real_flt_dec_generic_dtype */
42                2 pad                bit (20) unal;
43 
44      dcl     data_type_info_$ninebit_sign_chars char (2) external static;
45      dcl     data_type_info_$ninebit_digit_chars char (10) external static;
46      dcl     data_type_info_$ninebit_overpunched_sign_chars char (22) external static;
47 
48      dcl     data_type_info_$max_decimal_precision fixed bin external static;
49      dcl     data_type_info_$max_float_binary_precision fixed bin external static;
50      dcl     data_type_info_$max_fixed_binary_precision fixed bin external static;
51 
52 
53 /* END INCLUDE FILE ... data_type_info_.incl.pl1 */