Lab has a gamut that exceeds sRGB. A La*b* colour may require primary values which no only exceed 1.0, but also are under 1.0. The documentation states
RGB spaces tend to have a smaller gamut than some of the CIE color spaces. When converting to RGB, this can cause some of the coordinates to end up being out of the acceptable range (0.0-1.0 or 1-255, depending on whether your RGB color is upscaled).
In at least one case, the values reported are clamped, even though unclamed values are requested.
I think we will have to look at the whole clamping behaviour, ideally I think we should not clamp anything or just when performing final conversions to integers. It relates to #64.
Lab has a gamut that exceeds sRGB. A La*b* colour may require primary values which no only exceed 1.0, but also are under 1.0. The documentation states
In at least one case, the values reported are clamped, even though unclamed values are requested.
As an example,
A bit of trial and error finds the right value for the sRGB r primary is -0.9
The number of significant figures has been reduced for readability in the text above.
It's also worth noting that clamping is different than a proper handling of out of gamut colours