Type Limits for Call-ins and Call-outs
Type Limits for Call-ins and Call-outs
Depending on the direction (I, O, or IO) of a particular type, both call-ins and call-outs may transfer a value in two directions as follows:
Call-out: GT.M -> C -> GT.M Call-in: C -> GT.M -> C
| | | | | |
'-----'-----' '-----'-----'
1 2 2 1In the following table, the GT.M->C limit applies to 1 and the C->GT.M limit applies to 2. In other words, GT.M->C applies to I direction for call-outs and O direction for call-ins and C->GT.M applies to I direction for call-ins and O direction for call-outs.
| GTM->C | C->GT.M | |||
|---|---|---|---|---|
| Type | Precision | Range | Precision | Range |
| gtm_int_t, gtm_int_t * | Full | [-2^31+1, 2^31-1] | Full | [-2^31, 2^31-1] |
| gtm_uint_t, gtm_uint_t * | Full | [0, 2^32-1] | Full | [0, 2^32-1] |
| gtm_long_t, gtm_long_t * (64-bit) | 18 digits | [-2^63+1, 2^63-1] | 18 digits | [-2^63, 2^63-1] |
| gtm_long_t, gtm_long_t * (32-bit) | Full | [-2^31+1, 2^31-1] | Full | [-2^31, 2^31-1] |
| gtm_ulong_t, gtm_ulong_t * (64-bit) | 18 digits | [0, 2^64-1] | 18 digits | [0, 2^64-1] |
| gtm_ulong_t, gtm_ulong_t * (32-bit) | Full | [0, 2^32-1] | Full | [0, 2^32-1] |
| gtm_float_t, gtm_float_t * | 6-9 digits | [1E-43, 3.4028235E38] | 6 digits | [1E-43, 3.4028235E38] |
| gtm_double_t, gtm_double_t * | 15-17 digits | [1E-43, 1E47] | 15 digits | [1E-43, 1E47] |
| gtm_char_t * | N/A | ["", 1MiB] | N/A | ["", 1MiB] |
| gtm_char_t ** | N/A | ["", 1MiB] | N/A | ["", 1MiB] |
| gtm_string_t * | N/A | ["", 1MiB] | N/A | ["", 1MiB] |
| [Note] | Notes |
| * gtm_char_t ** is not supported for call-ins but they are included for IO and O direction usage with call-outs. * For call-out use of gtm_char_t * and gtm_string_t *, the specification in the interface definition for preallocation sets the range for IO and O, with a maximum of 1MiB. |