It would be good idea if the amount of the acceptable errors are specified for each of the functions that set floating point state variables. Inside the gl functions there maybe many operations(div/mult), casting(float->int) and floor (0.52->0.5) that can generate difference between the hand computed and computer computed results. These differences can be ignored if there is specified precision.
i.e:
setting a color value to 0.5 for RED
actually makes this value to
0.5019608139991760 when it is get.
In this case this difference is not a problem since red color has 256 levels and the acceptable error can be calculated with this information(1/256).
But sometimes we cannot determine the acceptable amount of error. glLight has a complex formula to inspect. This function can be hw accelerated and its amount of error(difference) can change with hw. So for each of the gl calculations we need a limit for the error.
If we do not have limits for errors we may see different colors with the same code for different gl libraries. Thus, this won’t be standart anymore. Also we cannot determine if this implementation is opengl compliant or not.
We can add a field in the function descriptions section of the reference manual that specifies the amount of the acceptable difference between the real and computer values.