This simple test:
uses
... math,...
var
FPUException: TFPUException;
FPUExceptionMask: TFPUExceptionMask;
begin
FPUExceptionMask := GetExceptionMask;
writeln('Masked:');
for FPUException := Low(TFPUException) to High(TFPUException) do begin
if FPUException in FPUExceptionMask then begin
write(' ', FPUException);
end;
end;
writeln;
writeln('Not masked:');
for FPUException := Low(TFPUException) to High(TFPUException) do begin
if not (FPUException in FPUExceptionMask) then begin
write(' ', FPUException);
end;
end;
end;
gives this output when we don't use Gtk2:
Masked:
exDenormalized exUnderflow exPrecision
Not masked:
exInvalidOp exZeroDivide exOverflow
With Gtk2, only exOverflow is not masked.