1 :Info: cv_binary_: 2021-10-28 cv_binary_ 2 3 Function: accepts an ASCII representation of a binary integer, or an 4 integer with an optional trailing radix indicator. It returns the 5 fixed binary(35) representation of that number. This entry point 6 returns a zero value if the convert operation fails. 7 8 See also cv_binary_check_ for a routine that returns a code if 9 the convert operation fails. 10 11 12 Syntax: 13 declare cv_binary_ entry (char(*)) returns (fixed bin(35)); 14 result = cv_binary_ (string); 15 16 17 Arguments: 18 result 19 is the converted fixed bin(35) value. (Output) 20 string 21 is the string to be converted. The number may be positive or 22 negative, and may have a trailing radix indicator as its last 23 character(s). Space and/or horizontal tab characters around number 24 or between sign and the number are ignored. (Input) 25 26 27 List of radix indicators: 28 Indicator characters may also be given in uppercase. 29 b, _b 30 the number is interpreted as a base two number (binary). 31 See "Notes" below. 32 q, _q 33 the number is interpreted as a base four number (quaternary). 34 o, _o 35 the number is interpreted as a base eight number (octal). 36 d, _d 37 the number is interpreted as a base ten number (decimal). 38 See "Notes" below. 39 x, _x 40 the number is interpreted as a base sixteen number (hexadecimal). 41 42 43 rN, _rN 44 the number is interpreted in the base N which is a decimal number 45 between 2 and 16 inclusive. 46 47 48 Notes on input integers: 49 A radix indicator may be appended to any input integer to specify its 50 numeric base. Decimal is assumed if no radix indicator is given. 51 52 INDICATOR NUMERIC BASE EXAMPLES 53 b or _b base 2 or binary 1101b 54 q or _q base 4 or quaternary 113q (=23d) 55 o or _o base 8 or octal 21o 56 d or _d base 10 or decimal 17d or 17 57 x or _x base 16 or hexadecimal 11x 58 rN or _rN where N is base value 59 between 2 and 16 44r5 (=24d) 60 61 A negative value may be given using a leading minus (-) character: 62 -23 63 64 65 For octal input, a negative value may also be given using a 12-digit 66 octal format in which the left-most digit is 5, 6, or 7: 67 -1o is same as 777777777777o 68 69 Digits for bases 11 through 16 may be entered using letters for digit 70 values beyond 9: 71 0 1 2 3 4 5 6 7 8 9 A B C D E F 72 with letters accepted in either uppercase or lowercase. 73 74 For hexadecimal input, a negative value may also be given using a 75 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 76 E, or F: 77 -2x is same as FFFFFFFFEx 78 79 80 Notes: If string is not a proper character representation of an 81 integer, result will contain the converted value of the string up to 82 but not including the incorrect character within the string. If the 83 radix indicator or the default base is not valid, result will contain 84 0. 85 86 87 :Info: cv_binary_check_: 2021-10-28 cv_binary_check_ 88 89 Function: accepts an ASCII representation of a binary integer, or an 90 integer with an optional trailing radix indicator. It returns the 91 fixed binary(35) representation of that number. This entry point 92 returns a code if the convert operation fails. 93 94 See also cv_binary_ for a routine that returns 0 if the convert 95 operation fails. 96 97 98 Syntax: 99 declare cv_binary_check_ entry (char(*), fixed bin(35)) 100 returns (fixed bin(35)); 101 result = cv_binary_check_ (string, code); 102 103 104 Arguments: 105 result 106 is the converted fixed bin(35) value. (Output) 107 string 108 is the string to be converted. The number may be positive or 109 negative, and may have a trailing radix indicator as its last 110 character(s). Space and/or horizontal tab characters around number 111 or between sign and the number are ignored. (Input) 112 code 113 is a code that equals 0 if no error has occurred; otherwise, it is 114 the index of the character of the input string that terminated the 115 failed convert operation. See "Notes" below. (Output) 116 117 118 List of radix indicators: 119 Indicator characters may also be given in uppercase. 120 b, _b 121 the number is interpreted as a base two number (binary). 122 See "Notes" below. 123 q, _q 124 the number is interpreted as a base four number (quaternary). 125 o, _o 126 the number is interpreted as a base eight number (octal). 127 d, _d 128 the number is interpreted as a base ten number (decimal). 129 See "Notes" below. 130 x, _x 131 the number is interpreted as a base sixteen number (hexadecimal). 132 133 134 rN, _rN 135 the number is interpreted in the base N which is a decimal number 136 between 2 and 16 inclusive. 137 138 139 Notes on input integers: 140 A radix indicator may be appended to any input integer to specify its 141 numeric base. Decimal is assumed if no radix indicator is given. 142 143 INDICATOR NUMERIC BASE EXAMPLES 144 b or _b base 2 or binary 1101b 145 q or _q base 4 or quaternary 113q (=23d) 146 o or _o base 8 or octal 21o 147 d or _d base 10 or decimal 17d or 17 148 x or _x base 16 or hexadecimal 11x 149 rN or _rN where N is base value 150 between 2 and 16 44r5 (=24d) 151 152 A negative value may be given using a leading minus (-) character: 153 -23 154 155 156 For octal input, a negative value may also be given using a 12-digit 157 octal format in which the left-most digit is 5, 6, or 7: 158 -1o is same as 777777777777o 159 160 Digits for bases 11 through 16 may be entered using letters for digit 161 values beyond 9: 162 0 1 2 3 4 5 6 7 8 9 A B C D E F 163 with letters accepted in either uppercase or lowercase. 164 165 For hexadecimal input, a negative value may also be given using a 166 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 167 E, or F: 168 -2x is same as FFFFFFFFEx 169 170 171 Notes: If string is not a proper character representation of an 172 integer, result will contain the converted value of the string, up to 173 but not including the incorrect character within the string. If the 174 radix indicator is not valid, result will contain 0. Code is not a 175 standard status code. It therefore cannot be passed to com_err_ and 176 other subroutines that accept only standard status codes. 177 178 179 :Info: cv_dec_: 2021-10-28 cv_dec_ 180 181 Function: accepts an ASCII representation of a decimal integer, or an 182 integer with an optional trailing radix indicator. It returns the 183 fixed binary(35) representation of that number. This entry point 184 returns 0 if the convert operation fails. 185 186 See also cv_dec_check_ for a routine that returns a code if the 187 convert operation fails. 188 189 190 Syntax: 191 declare cv_dec_ entry (char(*)) returns (fixed bin(35)); 192 result = cv_dec_ (string); 193 194 195 Arguments: 196 result 197 is the converted fixed bin(35) value. (Output) 198 string 199 is the string to be converted. The number may be positive or 200 negative, and may have a trailing radix indicator as its last 201 character(s). Space and/or horizontal tab characters around number 202 or between sign and the number are ignored. (Input) 203 204 205 List of radix indicators: 206 Indicator characters may also be given in uppercase. 207 b, _b 208 the number is interpreted as a base two number (binary). 209 See "Notes" below. 210 q, _q 211 the number is interpreted as a base four number (quaternary). 212 o, _o 213 the number is interpreted as a base eight number (octal). 214 d, _d 215 the number is interpreted as a base ten number (decimal). 216 See "Notes" below. 217 x, _x 218 the number is interpreted as a base sixteen number (hexadecimal). 219 220 221 rN, _rN 222 the number is interpreted in the base N which is a decimal number 223 between 2 and 16 inclusive. 224 225 226 Notes on input integers: 227 A radix indicator may be appended to any input integer to specify its 228 numeric base. Decimal is assumed if no radix indicator is given. 229 230 INDICATOR NUMERIC BASE EXAMPLES 231 b or _b base 2 or binary 1101b 232 q or _q base 4 or quaternary 113q (=23d) 233 o or _o base 8 or octal 21o 234 d or _d base 10 or decimal 17d or 17 235 x or _x base 16 or hexadecimal 11x 236 rN or _rN where N is base value 237 between 2 and 16 44r5 (=24d) 238 239 A negative value may be given using a leading minus (-) character: 240 -23 241 242 243 For octal input, a negative value may also be given using a 12-digit 244 octal format in which the left-most digit is 5, 6, or 7: 245 -1o is same as 777777777777o 246 247 Digits for bases 11 through 16 may be entered using letters for digit 248 values beyond 9: 249 0 1 2 3 4 5 6 7 8 9 A B C D E F 250 with letters accepted in either uppercase or lowercase. 251 252 For hexadecimal input, a negative value may also be given using a 253 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 254 E, or F: 255 -2x is same as FFFFFFFFEx 256 257 258 Notes: If string is not a proper character representation of an 259 integer, result will contain the converted value of the string, up to 260 but not including the incorrect character within the string. If the 261 radix indicator or the default base is not valid, result will contain 262 0. 263 264 Conversion of an integer without radix indicator can be performed more 265 efficiently in PL/I by-- 266 267 result = convert (result, string); 268 269 270 :Info: cv_dec_check_: 2021-10-28 cv_dec_check_ 271 272 Function: accepts an ASCII representation of a decimal integer, or an 273 integer with an optional trailing radix indicator. It returns the 274 fixed binary(35) representation of that number. This entry point 275 returns a code if the convert operation fails. 276 277 See also cv_dec_ for a routine that returns 0 if the convert operation 278 fails. 279 280 281 Syntax: 282 declare cv_dec_check_ entry (char(*), fixed bin(35)) 283 returns (fixed bin(35)); 284 result = cv_dec_check_ (string, code); 285 286 287 Arguments: 288 result 289 is the converted fixed bin(35) value. (Output) 290 string 291 is the string to be converted. The number may be positive or 292 negative, and may have a trailing radix indicator as its last 293 character(s). Space and/or horizontal tab characters around number 294 or between sign and the number are ignored. (Input) 295 code 296 is a code that equals 0 if no error has occurred; otherwise, it is 297 the index of the character of the input string that terminated the 298 failed convert operation. See "Notes" below. (Output) 299 300 301 List of radix indicators: 302 Indicator characters may also be given in uppercase. 303 b, _b 304 the number is interpreted as a base two number (binary). 305 See "Notes" below. 306 q, _q 307 the number is interpreted as a base four number (quaternary). 308 o, _o 309 the number is interpreted as a base eight number (octal). 310 d, _d 311 the number is interpreted as a base ten number (decimal). 312 See "Notes" below. 313 x, _x 314 the number is interpreted as a base sixteen number (hexadecimal). 315 316 317 rN, _rN 318 the number is interpreted in the base N which is a decimal number 319 between 2 and 16 inclusive. 320 321 322 Notes on input integers: 323 A radix indicator may be appended to any input integer to specify its 324 numeric base. Decimal is assumed if no radix indicator is given. 325 326 INDICATOR NUMERIC BASE EXAMPLES 327 b or _b base 2 or binary 1101b 328 q or _q base 4 or quaternary 113q (=23d) 329 o or _o base 8 or octal 21o 330 d or _d base 10 or decimal 17d or 17 331 x or _x base 16 or hexadecimal 11x 332 rN or _rN where N is base value 333 between 2 and 16 44r5 (=24d) 334 335 A negative value may be given using a leading minus (-) character: 336 -23 337 338 339 For octal input, a negative value may also be given using a 12-digit 340 octal format in which the left-most digit is 5, 6, or 7: 341 -1o is same as 777777777777o 342 343 Digits for bases 11 through 16 may be entered using letters for digit 344 values beyond 9: 345 0 1 2 3 4 5 6 7 8 9 A B C D E F 346 with letters accepted in either uppercase or lowercase. 347 348 For hexadecimal input, a negative value may also be given using a 349 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 350 E, or F: 351 -2x is same as FFFFFFFFEx 352 353 354 Notes: If string is not a proper character representation of an 355 integer, result will contain the converted value of the string, up to 356 but not including the incorrect character within the string. If the 357 radix indicator is not valid, result will contain 0. Code is not a 358 standard status code. It therefore cannot be passed to com_err_ and 359 other subroutines that accept only standard status codes. 360 361 362 Conversion of an integer without radix indicator can be performed more 363 efficiently in PL/I by-- 364 365 on conversion, size goto badnumber; 366 result = convert (result, string); 367 revert conversion, size; 368 . 369 . 370 . 371 badnumber: 372 call com_err_ (error_table_$bad_conversion, proc, string); 373 return; 374 375 376 :Info: cv_hex_: 2021-10-28 cv_hex_ 377 378 Function: takes an ASCII representation of a hexadecimal integer, or 379 an integer with an optional trailing radix indicator. It returns the 380 fixed binary(35) representation of that number. The ASCII 381 representation may contain either uppercase or lowercase characters. 382 This entry point returns 0 if the convert operation fails. 383 384 See also cv_hex_check_ for a routine that returns a code if the 385 convert operation fails. 386 387 388 Syntax: 389 declare cv_hex_ entry (char(*)) returns (fixed bin(35)); 390 result = cv_hex_ (string); 391 392 393 Arguments: 394 result 395 is the converted fixed bin(35) value. (Output) 396 string 397 is the string to be converted. The number may be positive or 398 negative, and may have a trailing radix indicator as its last 399 character(s). Space and/or horizontal tab characters around number 400 or between sign and the number are ignored. (Input) 401 402 403 List of radix indicators: 404 Indicator characters may also be given in uppercase. 405 b, _b 406 the number is interpreted as a base two number (binary). 407 See "Notes" below. 408 q, _q 409 the number is interpreted as a base four number (quaternary). 410 o, _o 411 the number is interpreted as a base eight number (octal). 412 d, _d 413 the number is interpreted as a base ten number (decimal). 414 See "Notes" below. 415 x, _x 416 the number is interpreted as a base sixteen number (hexadecimal). 417 418 419 rN, _rN 420 the number is interpreted in the base N which is a decimal number 421 between 2 and 16 inclusive. 422 423 424 Notes on input integers: 425 A radix indicator may be appended to any input integer to specify its 426 numeric base. Decimal is assumed if no radix indicator is given. 427 428 INDICATOR NUMERIC BASE EXAMPLES 429 b or _b base 2 or binary 1101b 430 q or _q base 4 or quaternary 113q (=23d) 431 o or _o base 8 or octal 21o 432 d or _d base 10 or decimal 17d or 17 433 x or _x base 16 or hexadecimal 11x 434 rN or _rN where N is base value 435 between 2 and 16 44r5 (=24d) 436 437 A negative value may be given using a leading minus (-) character: 438 -23 439 440 441 For octal input, a negative value may also be given using a 12-digit 442 octal format in which the left-most digit is 5, 6, or 7: 443 -1o is same as 777777777777o 444 445 Digits for bases 11 through 16 may be entered using letters for digit 446 values beyond 9: 447 0 1 2 3 4 5 6 7 8 9 A B C D E F 448 with letters accepted in either uppercase or lowercase. 449 450 For hexadecimal input, a negative value may also be given using a 451 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 452 E, or F: 453 -2 is same as FFFFFFFFE 454 455 456 Notes: If string is not a proper character representation of an 457 integer, result will contain the converted value of the string up to 458 but not including the incorrect character within the string. If the 459 radix indicator or the default base is not valid, result will contain 460 0. 461 462 463 :Info: cv_hex_check_: 2021-10-28 cv_hex_check_ 464 465 Function: takes an ASCII representation of a hexadecimal integer, or an 466 integer with an optional trailing radix indicator. It returns the 467 fixed binary(35) representation of that number. The ASCII 468 representation may contain either uppercase or lowercase characters. 469 This entry point returns a code if the convert operation fails. 470 471 See also cv_hex_ for a routine that returns 0 if the convert operation 472 fails. 473 474 475 Syntax: 476 declare cv_hex_check_ entry (char(*), fixed bin(35)), 477 returns (fixed bin(35)); 478 result = cv_hex_check_ (string, code); 479 480 481 Arguments: 482 result 483 is the converted fixed bin(35) value. (Output) 484 string 485 is the string to be converted. The number may be positive or 486 negative, and may have a trailing radix indicator as its last 487 character(s). Space and/or horizontal tab characters around number 488 or between sign and the number are ignored. (Input) 489 code 490 is a code that equals 0 if no error occurred; otherwise, it is the 491 index of the character that terminated the conversion. See "Note" 492 below. (Output) 493 494 495 List of radix indicators: 496 Indicator characters may also be given in uppercase. 497 b, _b 498 the number is interpreted as a base two number (binary). 499 See "Notes" below. 500 q, _q 501 the number is interpreted as a base four number (quaternary). 502 o, _o 503 the number is interpreted as a base eight number (octal). 504 d, _d 505 the number is interpreted as a base ten number (decimal). 506 See "Notes" below. 507 x, _x 508 the number is interpreted as a base sixteen number (hexadecimal). 509 510 511 rN, _rN 512 the number is interpreted in the base N which is a decimal number 513 between 2 and 16 inclusive. 514 515 516 Notes on input integers: 517 A radix indicator may be appended to any input integer to specify its 518 numeric base. Decimal is assumed if no radix indicator is given. 519 520 INDICATOR NUMERIC BASE EXAMPLES 521 b or _b base 2 or binary 1101b 522 q or _q base 4 or quaternary 113q (=23d) 523 o or _o base 8 or octal 21o 524 d or _d base 10 or decimal 17d or 17 525 x or _x base 16 or hexadecimal 11x 526 rN or _rN where N is base value 527 between 2 and 16 44r5 (=24d) 528 529 A negative value may be given using a leading minus (-) character: 530 -23 531 532 533 For octal input, a negative value may also be given using a 12-digit 534 octal format in which the left-most digit is 5, 6, or 7: 535 -1o is same as 777777777777o 536 537 Digits for bases 11 through 16 may be entered using letters for digit 538 values beyond 9: 539 0 1 2 3 4 5 6 7 8 9 A B C D E F 540 with letters accepted in either uppercase or lowercase. 541 542 For hexadecimal input, a negative value may also be given using a 543 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 544 E, or F: 545 -2 is same as FFFFFFFFE 546 547 548 Notes: If string is not a proper character representation of an 549 integer, result will contain the converted value of the string up to 550 but not including the incorrect character within the string. If the 551 radix indicator or the default base is not valid, result will contain 552 0. Code is not a standard status code. It therefore cannot be passed 553 to com_err_ and other subroutines that accept only standard status 554 codes. 555 556 557 :Info: cv_integer_string_: 2021-10-27 cv_integer_string_ 558 559 Function: accepts an ASCII representation of an integer with an 560 optional trailing radix indicator and returns the fixed binary(35) 561 representation of that number. This entry point signals a conversion 562 or size condition if the convert operation fails. 563 564 See also cv_integer_string_check_ for a routine that returns a 565 status code if the convert operation fails. 566 567 568 Syntax: 569 declare cv_integer_string_ entry (char(*), fixed bin) 570 returns (fixed bin(35)); 571 result = cv_integer_string_ (string, default_base); 572 573 574 Arguments: 575 result 576 is the converted fixed bin(35) value. (Output) 577 string 578 is the string to be converted. The number may be positive or 579 negative, and may have a trailing radix indicator as its last 580 character(s). Space and/or horizontal tab characters around number 581 or between sign and the number are ignored. (Input) 582 default_base 583 is the base to be used if the input string does not have a trailing 584 radix indicator. This base may be any integer between 2 to 16 585 inclusive. (Input) 586 587 588 List of radix indicators: 589 Indicator characters may also be given in uppercase. 590 b, _b 591 the number is interpreted as a base two number (binary). 592 See "Notes" below. 593 q, _q 594 the number is interpreted as a base four number (quaternary). 595 o, _o 596 the number is interpreted as a base eight number (octal). 597 d, _d 598 the number is interpreted as a base ten number (decimal). 599 See "Notes" below. 600 x, _x 601 the number is interpreted as a base sixteen number (hexadecimal). 602 603 604 rN, _rN 605 the number is interpreted in the base N which is a decimal number 606 between 2 and 16 inclusive. 607 608 609 Notes on input integers: 610 A radix indicator may be appended to any input integer to specify its 611 numeric base. Decimal is assumed if no radix indicator is given. 612 613 INDICATOR NUMERIC BASE EXAMPLES 614 b or _b base 2 or binary 1101b 615 q or _q base 4 or quaternary 113q (=23d) 616 o or _o base 8 or octal 21o 617 d or _d base 10 or decimal 17d or 17 618 x or _x base 16 or hexadecimal 11x 619 rN or _rN where N is base value 620 between 2 and 16 44r5 (=24d) 621 622 A negative value may be given using a leading minus (-) character: 623 -23 624 625 626 For octal input, a negative value may also be given using a 12-digit 627 octal format in which the left-most digit is 5, 6, or 7: 628 -1o is same as 777777777777o 629 630 Digits for bases 11 through 16 may be entered using letters for digit 631 values beyond 9: 632 0 1 2 3 4 5 6 7 8 9 A B C D E F 633 with letters accepted in either uppercase or lowercase. 634 635 For hexadecimal input, a negative value may also be given using a 636 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 637 E, or F: 638 -2x is same as FFFFFFFFEx 639 640 641 Notes: If string is not a proper character representation of an 642 integer, result will contain the converted value of the string, up to 643 but not including the incorrect character within the string. If the 644 radix indicator or the default base is not valid result will contain 645 0. 646 647 If the default base is larger than 11, a final "b" is treated as a 648 digit in the number rather than as a radix indicator. Similarly, if 649 the default base is larger than 13, a final "d" is treated as a digit 650 in the number rather than as a radix indicator. Use "_b" or "_d" as 651 the radix indicator for a default base larger than 11. 652 653 654 :Info: cv_integer_string_check_: 2021-10-28 cv_integer_string_check_ 655 656 Function: accepts an ASCII representation of an integer with an 657 optional trailing radix indicator and returns the fixed binary(35) 658 representation of that number. This function returns a status code 659 if the convert operation fails. 660 661 See also cv_integer_string_ for a routine that signals a conversion 662 or size condition if the convert operation fails. 663 664 665 Syntax: 666 declare cv_integer_string_check_ entry (char(*), fixed bin, 667 fixed bin(35)) returns (fixed bin(35)); 668 result = cv_integer_string_check_ (string, default_base, code); 669 670 671 Arguments: 672 result 673 is the converted fixed bin(35) value. (Output) 674 string 675 is the string to be converted. The number may be positive or 676 negative, and may have a trailing radix indicator as its last 677 character(s). Space and/or horizontal tab character around number, 678 or between sign and the number is ignored. (Input) 679 default_base 680 is the base to be used if the input string does not have a trailing 681 radix indicator. This base may be any integer between 2 and 16 682 inclusive. (Input) 683 684 685 code 686 is a standard Multics status code. (Output) It may have one of the 687 following values: 688 0 689 the conversion completed without error. 690 error_table_$bad_arg 691 default_base is not in the valid range. 692 error_table_$bad_conversion 693 convert operation on the string failed. 694 error_table_$size_error 695 integer string has more digits than will fit in the 696 fixed bin(35) return value. 697 698 699 List of radix indicators: 700 Indicator characters may also be given in uppercase. 701 b, _b 702 the number is interpreted as a base two number (binary). 703 See "Notes" below. 704 q, _q 705 the number is interpreted as a base four number (quaternary). 706 o, _o 707 the number is interpreted as a base eight number (octal). 708 d, _d 709 the number is interpreted as a base ten number (decimal). 710 See "Notes" below. 711 x, _x 712 the number is interpreted as a base sixteen number (hexadecimal). 713 714 715 rN, _rN 716 the number is interpreted in the base N which is a decimal number 717 between 2 and 16 inclusive. 718 719 720 Notes on input integers: 721 A radix indicator may be appended to any input integer to specify its 722 numeric base. Decimal is assumed if no radix indicator is given. 723 724 INDICATOR NUMERIC BASE EXAMPLES 725 b or _b base 2 or binary 1101b 726 q or _q base 4 or quaternary 113q (=23d) 727 o or _o base 8 or octal 21o 728 d or _d base 10 or decimal 17d or 17 729 x or _x base 16 or hexadecimal 11x 730 rN or _rN where N is base value 731 between 2 and 16 44r5 (=24d) 732 733 A negative value may be given using a leading minus (-) character: 734 -23 735 736 737 For octal input, a negative value may also be given using a 12-digit 738 octal format in which the left-most digit is 5, 6, or 7: 739 -1o is same as 777777777777o 740 741 Digits for bases 11 through 16 may be entered using letters for digit 742 values beyond 9: 743 0 1 2 3 4 5 6 7 8 9 A B C D E F 744 with letters accepted in either uppercase or lowercase. 745 746 For hexadecimal input, a negative value may also be given using a 747 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 748 E, or F: 749 -2x is same as FFFFFFFFEx 750 751 752 Notes: 753 If the default base is larger than 11, a final "b" is treated as a 754 digit in the number rather than as a radix indicator. Similarly, if 755 the default base is larger than 13, a final "d" is treated as a digit 756 in the number rather than as a radix indicator. Use "_b" or "_d" as 757 the radix indicator for a default base larger than 11. 758 759 760 :Info: cv_oct_: 2021-10-28 cv_oct_ 761 762 Function: takes an ASCII representation of an octal integer, or an 763 integer with an optional trailing radix indicator. It returns the 764 fixed binary(35) representation of that number. This entry point 765 returns 0 if the convert operation fails. 766 767 See also cv_oct_check_ for a routine that returns a code if the 768 convert operation fails. 769 770 771 Syntax: 772 declare cv_oct_ entry (char(*)) returns (fixed bin(35)); 773 result = cv_oct_ (string); 774 775 776 Arguments: 777 result 778 is the converted fixed bin(35) value. (Output) 779 string 780 is the string to be converted. The number may be positive or 781 negative, and may have a trailing radix indicator as its last 782 character(s). Space and/or horizontal tab characters around number 783 or between sign and the number are ignored. (Input) 784 785 786 List of radix indicators: 787 Indicator characters may also be given in uppercase. 788 b, _b 789 the number is interpreted as a base two number (binary). 790 See "Notes" below. 791 q, _q 792 the number is interpreted as a base four number (quaternary). 793 o, _o 794 the number is interpreted as a base eight number (octal). 795 d, _d 796 the number is interpreted as a base ten number (decimal). 797 See "Notes" below. 798 x, _x 799 the number is interpreted as a base sixteen number (hexadecimal). 800 801 802 rN, _rN 803 the number is interpreted in the base N which is a decimal number 804 between 2 and 16 inclusive. 805 806 807 Notes on input integers: 808 A radix indicator may be appended to any input integer to specify its 809 numeric base. Decimal is assumed if no radix indicator is given. 810 811 INDICATOR NUMERIC BASE EXAMPLES 812 b or _b base 2 or binary 1101b 813 q or _q base 4 or quaternary 113q (=23d) 814 o or _o base 8 or octal 21o 815 d or _d base 10 or decimal 17d or 17 816 x or _x base 16 or hexadecimal 11x 817 rN or _rN where N is base value 818 between 2 and 16 44r5 (=24d) 819 820 A negative value may be given using a leading minus (-) character: 821 -23 822 823 824 For octal input, a negative value may also be given using a 12-digit 825 octal format in which the left-most digit is 5, 6, or 7: 826 -1 is same as 777777777777 827 828 Digits for bases 11 through 16 may be entered using letters for digit 829 values beyond 9: 830 0 1 2 3 4 5 6 7 8 9 A B C D E F 831 with letters accepted in either uppercase or lowercase. 832 833 For hexadecimal input, a negative value may also be given using a 834 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 835 E, or F: 836 -2x is same as FFFFFFFFEx 837 838 839 Notes: If string is not a proper character representation of an 840 integer, result will contain the converted value of the string up to 841 but not including the incorrect character within the string. If the 842 radix indicator or the default base is not valid, result will contain 843 0. 844 845 846 :Info: cv_oct_check_: 2021-10-28 cv_oct_check_ 847 848 Function: takes an ASCII representation of an octal integer, or an 849 integer with an optional trailing radix indicator. It returns the 850 fixed binary(35) representation of that number. The ASCII 851 representation may contain either uppercase or lowercase characters. 852 This entry point returns a code if the convert operation fails. 853 854 See also cv_oct_ for a routine that returns 0 if the convert operation 855 fails. 856 857 858 Syntax: 859 declare cv_oct_check_ entry (char(*), fixed bin(35)), 860 returns (fixed bin(35)); 861 result = cv_oct_check_ (string, code); 862 863 864 Arguments: 865 result 866 is the converted fixed bin(35) value. (Output) 867 string 868 is the string to be converted. The number may be positive or 869 negative, and may have a trailing radix indicator as its last 870 character(s). Space and/or horizontal tab characters around number 871 or between sign and the number are ignored. (Input) 872 code 873 is a code that equals 0 if no error occurred; otherwise, it is the 874 index of the character that terminated the conversion. See "Note" 875 below. (Output) 876 877 878 List of radix indicators: 879 Indicator characters may also be given in uppercase. 880 b, _b 881 the number is interpreted as a base two number (binary). 882 See "Notes" below. 883 q, _q 884 the number is interpreted as a base four number (quaternary). 885 o, _o 886 the number is interpreted as a base eight number (octal). 887 d, _d 888 the number is interpreted as a base ten number (decimal). 889 See "Notes" below. 890 x, _x 891 the number is interpreted as a base sixteen number (hexadecimal). 892 893 894 rN, _rN 895 the number is interpreted in the base N which is a decimal number 896 between 2 and 16 inclusive. 897 898 899 Notes on input integers: 900 A radix indicator may be appended to any input integer to specify its 901 numeric base. Decimal is assumed if no radix indicator is given. 902 903 INDICATOR NUMERIC BASE EXAMPLES 904 b or _b base 2 or binary 1101b 905 q or _q base 4 or quaternary 113q (=23d) 906 o or _o base 8 or octal 21o 907 d or _d base 10 or decimal 17d or 17 908 x or _x base 16 or hexadecimal 11x 909 rN or _rN where N is base value 910 between 2 and 16 44r5 (=24d) 911 912 A negative value may be given using a leading minus (-) character: 913 -23 914 915 916 For octal input, a negative value may also be given using a 12-digit 917 octal format in which the left-most digit is 5, 6, or 7: 918 -1 is same as 777777777777 919 920 Digits for bases 11 through 16 may be entered using letters for digit 921 values beyond 9: 922 0 1 2 3 4 5 6 7 8 9 A B C D E F 923 with letters accepted in either uppercase or lowercase. 924 925 For hexadecimal input, a negative value may also be given using a 926 9-digit hex format in which the left-most digit is: 8, 9, A, B, C, D, 927 E, or F: 928 -2x is same as FFFFFFFFEx 929 930 931 Notes: If string is not a proper character representation of an 932 integer, result will contain the converted value of the string up to 933 but not including the incorrect character within the string. If the 934 radix indicator or the default base is not valid, result will contain 935 0. Code is not a standard status code. It therefore cannot be passed 936 to com_err_ and other subroutines that accept only standard status 937 codes. 938 939 940 :hcom: 941 /****^ HISTORY COMMENTS: 942 1) change(2021-10-28,GDixon), approve(2022-07-13,MCR10101), 943 audit(2022-07-27,Swenson): 944 A) Add a description for the existing cv_binary_ and cv_binary_check_ 945 subroutines which had not be documented before. 946 B) Add descriptions for cv_dec_ and cv_dec_check_ subroutines which 947 now support an optional radix indicator at the end of the input 948 integer string. 949 C) Add descriptions for cv_hex_ and cv_hex_check_ subroutines which 950 now support an optional radix indicator at the end of the input 951 integer string. 952 D) Add descriptions for cv_oct_ and cv_oct_check_ subroutines which 953 now support an optional radix indicator at the end of the input 954 integer string. 955 E) In cv_integer_string_ description, remove note about nonstandard 956 code values. Code only returns error_table_$bad_conversion, 957 error_table_$size_error, or error_table_$bad_arg. 958 F) In cv_integer_string_check_ description, add description of radix 959 indicators which optionally end an input integer string. 960 END HISTORY COMMENTS */