… | |
… | |
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 | |
… | |
… | |
1323 | intended to be internal-use only, some of which we forgot to document, and |
1323 | intended to be internal-use only, some of which we forgot to document, and |
1324 | some of which we hide because we are not sure we will keep the interface |
1324 | some of which we hide because we are not sure we will keep the interface |
1325 | stable. |
1325 | stable. |
1326 | |
1326 | |
1327 | While you are welcome to rummage around and use whatever you find useful |
1327 | While you are welcome to rummage around and use whatever you find useful |
1328 | (we can't stop you), keep in mind that we will change undocumented |
1328 | (we don't want to stop you), keep in mind that we will change undocumented |
1329 | functionality in incompatible ways without thinking twice, while we are |
1329 | functionality in incompatible ways without thinking twice, while we are |
1330 | considerably more conservative with documented things. |
1330 | considerably more conservative with documented things. |
1331 | |
1331 | |
1332 | =head1 AUTHORS |
1332 | =head1 AUTHORS |
1333 | |
1333 | |
1334 | C<libecb> is designed and maintained by: |
1334 | C<libecb> is designed and maintained by: |
1335 | |
1335 | |
1336 | Emanuele Giaquinta <e.giaquinta@glauco.it> |
1336 | Emanuele Giaquinta <e.giaquinta@glauco.it> |
1337 | Marc Alexander Lehmann <schmorp@schmorp.de> |
1337 | Marc Alexander Lehmann <schmorp@schmorp.de> |
1338 | |
|
|
1339 | |
|
|