From liblfds.org
Jump to navigation Jump to search

Source File

                lfds710_pal.h : defines, typedefs and includes


typedef [type]  lfds710_uint_t;


C89 has no type which is and is always the natural integer length for the local platform.

By natural integer length it is meant to say the integer register length, i.e. 32-bit on 32-bit CPUs, 64-bit on 64-bit CPUs.

On 64-bit Windows, for example, unsigned long int is 32 bit, but on 64-bit Linux, is 64 bit.

The library needs an integer type which simply has a larger number range (and so greater functionality - for example, if producing a count of the number of elements in a data structure, the count can be a higher value) on more capable platforms.

In C89, the nearest type is size_t, which is almost invariably 32 bit on 32 bit platforms and 64 bit on 64 bit platforms, but it is not expressly designed for this purpose and overloading it with another use is improper.

As such, this typedef exists.

The type used should be the unsigned integer type which is the same length in bytes as the natural integer length - i.e. the integer register length of the CPU - of the local platform.

See Also