Article ID: 118815
Article Last Modified on 10/2/2003
APPLIES TO
- Microsoft FORTRAN PowerStation 1.0 Standard Edition
- Microsoft Fortran PowerStation 1.0a for MS-DOS
This article was previously published under Q118815
SYMPTOMS
When a program draws a line with an endpoint outside the screen
coordinates, the line is not clipped and the following error message is
generated:
run-time error M6101: MATH
- floating-point error: invalid
CAUSE
The limit seems to be related to converting to an int. In the sample code
below, the extent of X in the window coordinates is 1.0, the screen
coordinate is 639, and the line is drawn to 51.28. For example:
639 * 51.28 / 1.0 = 32,767.92 > 32,767
In the preceding example, a line drawn to 51.27 succeeds (639 * 51.27 / 1.0
= 32,761.53 < 32,767).
RESOLUTION
Do not draw outside the screen coordinates. Clip the endpoints of lines
before calling the LINETO_W routine. If you clip to values within 10 times
the size of the window, the code should work in any resolution.
STATUS
Microsoft has confirmed this to be a bug with Microsoft FORTRAN
PowerStation for MS-DOS, versions 1.0 and 1.0a.
Additional query words: 1.00 1.00a
Keywords: KB118815