… | |
… | |
1091 | |
1091 | |
1092 | =item char *ecb_i2a_08 (char *ptr, uint32_t value) // 64 bit |
1092 | =item char *ecb_i2a_08 (char *ptr, uint32_t value) // 64 bit |
1093 | |
1093 | |
1094 | =item char *ecb_i2a_09 (char *ptr, uint32_t value) // 64 bit |
1094 | =item char *ecb_i2a_09 (char *ptr, uint32_t value) // 64 bit |
1095 | |
1095 | |
1096 | The C<< ecb_i2a_0I<N> > functions take an unsigned I<value> and convert |
1096 | The C<< ecb_i2a_0I<N> >> functions take an unsigned I<value> and convert |
1097 | them to exactly I<N> digits, returning a pointer to the first character |
1097 | them to exactly I<N> digits, returning a pointer to the first character |
1098 | after the digits. The I<value> must be in range. The functions marked with |
1098 | after the digits. The I<value> must be in range. The functions marked with |
1099 | I<32 bit> do their calculations internally in 32 bit, the ones marked with |
1099 | I<32 bit> do their calculations internally in 32 bit, the ones marked with |
1100 | I<64 bit> internally use 64 bit integers, which might be slow on 32 bit |
1100 | I<64 bit> internally use 64 bit integers, which might be slow on 32 bit |
1101 | architectures (the high level API decides on 32 vs. 64 bit versions using |
1101 | architectures (the high level API decides on 32 vs. 64 bit versions using |
… | |
… | |
1115 | |
1115 | |
1116 | =item char *ecb_i2a_8 (char *ptr, uint32_t value) // 64 bit |
1116 | =item char *ecb_i2a_8 (char *ptr, uint32_t value) // 64 bit |
1117 | |
1117 | |
1118 | =item char *ecb_i2a_9 (char *ptr, uint32_t value) // 64 bit |
1118 | =item char *ecb_i2a_9 (char *ptr, uint32_t value) // 64 bit |
1119 | |
1119 | |
1120 | Similarly, the C<< ecb_i2a_I<N> > functions take an unsigned I<value> |
1120 | Similarly, the C<< ecb_i2a_I<N> >> functions take an unsigned I<value> |
1121 | and convert them to at most I<N> digits, suppressing leading zeroes, and |
1121 | and convert them to at most I<N> digits, suppressing leading zeroes, and |
1122 | returning a pointer to the first character after the digits. |
1122 | returning a pointer to the first character after the digits. |
1123 | |
1123 | |
1124 | =item ECB_I2A_MAX_X5 (=59074) |
1124 | =item ECB_I2A_MAX_X5 (=59074) |
1125 | |
1125 | |
… | |
… | |
1127 | |
1127 | |
1128 | =item ECB_I2A_MAX_X10 (=2932500665) |
1128 | =item ECB_I2A_MAX_X10 (=2932500665) |
1129 | |
1129 | |
1130 | =item char *ecb_i2a_x10 (char *ptr, uint32_t value) // 64 bit |
1130 | =item char *ecb_i2a_x10 (char *ptr, uint32_t value) // 64 bit |
1131 | |
1131 | |
1132 | The C<< ecb_i2a_xI<N> >> functions are similar to the C<< ecb_i2a_I<N> > |
1132 | The C<< ecb_i2a_xI<N> >> functions are similar to the C<< ecb_i2a_I<N> >> |
1133 | functions, but they can generate one digit more, as long as the number |
1133 | functions, but they can generate one digit more, as long as the number |
1134 | is within range, which is given by the symbols C<ECB_I2A_MAX_X5> (almost |
1134 | is within range, which is given by the symbols C<ECB_I2A_MAX_X5> (almost |
1135 | 16 bit range) and C<ECB_I2A_MAX_X10> (a bit more than 31 bit range), |
1135 | 16 bit range) and C<ECB_I2A_MAX_X10> (a bit more than 31 bit range), |
1136 | respectively. |
1136 | respectively. |
1137 | |
1137 | |