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 binary35 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 bin35;
14 result = cv_binary_ string;
15
16
17 Arguments:
18 result
19 is the converted fixed bin35 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 characters. 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 binary35 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 bin35
100 returns fixed bin35;
101 result = cv_binary_check_ string code;
102
103
104 Arguments:
105 result
106 is the converted fixed bin35 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 characters. 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 binary35 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 bin35;
192 result = cv_dec_ string;
193
194
195 Arguments:
196 result
197 is the converted fixed bin35 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 characters. 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 binary35 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 bin35
283 returns fixed bin35;
284 result = cv_dec_check_ string code;
285
286
287 Arguments:
288 result
289 is the converted fixed bin35 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 characters. 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 binary35 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 bin35;
390 result = cv_hex_ string;
391
392
393 Arguments:
394 result
395 is the converted fixed bin35 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 characters. 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 binary35 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 bin35,
477 returns fixed bin35;
478 result = cv_hex_check_ string code;
479
480
481 Arguments:
482 result
483 is the converted fixed bin35 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 characters. 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 binary35
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 bin35;
571 result = cv_integer_string_ string default_base;
572
573
574 Arguments:
575 result
576 is the converted fixed bin35 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 characters. 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 binary35
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 bin35 returns fixed bin35;
668 result = cv_integer_string_check_ string default_base code;
669
670
671 Arguments:
672 result
673 is the converted fixed bin35 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 characters. 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 bin35 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 binary35 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 bin35;
773 result = cv_oct_ string;
774
775
776 Arguments:
777 result
778 is the converted fixed bin35 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 characters. 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 binary35 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 bin35,
860 returns fixed bin35;
861 result = cv_oct_check_ string code;
862
863
864 Arguments:
865 result
866 is the converted fixed bin35 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 characters. 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) change2021-10-28GDixon, approve2022-07-13MCR10101,
943 audit2022-07-27Swenson:
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 */