This function returns the maximum exponent used in the model for floatingpoint numbers of the kind of X.
This is an inquiry function, so X need not be defined; indeed, it is permitted to be disassociated, unallocated, or absent.
The model for real type is that it may be zero or a signed fraction between 1 and 1/RADIX(X) consisting of DIGITS(X) digits, multiplied by an exponent RADIX(X)**e with MINEXPONENT(X)≤e≤MAXEXPONENT(X).
Note that the parameters of the model for real type are chosen so that it most closely reflects the actual floatingpoint numbers on the machine, but nearly all machine floatingpoint systems differ from the model in important respects.
For example, in IEEE arithmetic, which is the most common floatingpoint available on modern hardware, there are additional values that lie outside the model; these are infinities, NaNs (NotaNumber), and subnormal numbers (subnormal numbers have an exponent less than MINEXPONENT(X) but have less precision than model numbers).
