1 /*  START OF:       cv_fixed_point_string_.incl.pl1           *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 2 
 3 /****^  HISTORY COMMENTS:
 4   1) change(2021-12-13,GDixon), approve(2022-07-13,MCR10101),
 5      audit(2022-07-27,Swenson):
 6       A) Create include file.
 7                                                    END HISTORY COMMENTS */
 8 
 9 
10           /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *   */
11           /*                                                                                                */
12           /* This include file provides a structure and named constants useful in calling the               */
13           /* cv_fixed_point_string_ subroutine.  This subroutine includes a switches argument declared as   */
14           /* a bit(*) string.  The caller may:                                                              */
15           /*   -  set named elements of the fixed_point_switches structure, and then pass that structure    */
16           /*      to the switches argument as:  string(fixed_point_switches); or                            */
17           /*   -  may pass one of the named constant strings that define the most commonly-used switches    */
18           /*      settings.                                                                                 */
19           /*                                                                                                */
20           /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *   */
21 
22 declare 1 fixed_point_switches          based,
23           2 signal_errors               bit (1) unaligned,  /* "1"b: errors signaled as conditions                    */
24                                                             /* "0"b: errors returned as standard status code          */
25           2 allow_exponent              bit (1) unaligned,  /* "1"b: input string may include an exponent sub-field   */
26           2 convert_binary              bit (1) unaligned,  /* "1"b: use PL/I convert built-in for binary strings     */
27                                                             /* "0"b: use cv_fixed_point_string_ convert algorithms    */
28                                                             /*       to convert binary strings                        */
29           2 convert_decimal             bit (1) unaligned;  /* "1"b: use PL/I convert built-in for decimal strings    */
30                                                             /* "0"b: use cv_fixed_point_string_ convert algorithms    */
31                                                             /*       to convert decimalstrings                        */
32 
33 declare FIXED_POINT_SIGNALS             bit (1) internal static options (constant) initial ("1"b);
34 declare FIXED_POINT_EXPONENT            bit (2) internal static options (constant) initial ("01"b);
35 declare FIXED_POINT_CONVERT_BIN         bit (3) internal static options (constant) initial ("011"b);
36 declare FIXED_POINT_CONVERT_DEC         bit (4) internal static options (constant) initial ("0101"b);
37 
38 declare FIXED_POINT_EXPONENT_CONVERT_DEC
39                                         bit (4) internal static options (constant) initial ("0101"b);
40 declare FIXED_POINT_EXPONENT_CONVERT    bit (4) internal static options (constant) initial ("0111"b);
41 
42 declare FIXED_POINT_SIG_EXP             bit (2) internal static options (constant) initial ("11"b);
43 declare FIXED_POINT_SIG_EXP_CONVERT_DEC bit (4) internal static options (constant) initial ("1101"b);
44 declare FIXED_POINT_SIG_EXP_CONVERT     bit (4) internal static options (constant) initial ("1111"b);
45 
46 /*  END OF:         cv_fixed_point_string_.incl.pl1           *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */