• Home
  • Raw
  • Download

Lines Matching refs:of

9  |    it under the terms of the GNU General Public License version 2 as      |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | You should have received a copy of the GNU General Public License |
26 which was my 80387 emulator for early versions of djgpp (gcc under
33 facets of the functioning of the FPU are not well covered in the
36 possible to be sure that all of the peculiarities of the 80486 have
38 in the detailed behaviour of the emulator and a real 80486.
40 wm-FPU-emu does not implement all of the behaviour of the 80486 FPU,
41 but is very close. See "Limitations" later in this file for a list of
56 ----------------------- Internals of wm-FPU-emu -----------------------
62 to take advantage of the characteristics of the 80386. I expect that
64 seen it. It is based upon one of those ideas which one carries around
68 upon the properties of Newton's method, and the code is once again
69 structured taking account of the 80386 characteristics.
71 "optimal" polynomial approximations. My definition of "optimal" was
74 a value of pi which is accurate to more than 128 bits. As a consequence,
78 80486, which uses a value of pi which is accurate to 66 bits.
80 The code of the emulator is complicated slightly by the need to
81 account for a limited form of re-entrancy. Normally, the emulator will
94 As from version 1.12 of the emulator, no static variables are used
97 form of re-entrancy which is required by the Linux kernel.
99 ----------------------- Limitations of wm-FPU-emu -----------------------
101 There are a number of differences between the current wm-FPU-emu
103 are fewer than those which applied to the 1.xx series of the emulator.
104 Some of the more important differences are listed below:
113 (a) the operands have a higher precision than the current setting of the
116 (c) the magnitude of the exact result (before rounding) is less than 2^-16382.
117 (d) the magnitude of the final result (after rounding) is exactly 2^-16382.
118 (e) the magnitude of the exact result would be exactly 2^-16382 if the
121 If all of these apply, the emulator will set the Underflow flag but a real
124 NOTE: Certain formats of Extended Real are UNSUPPORTED. They are
126 and Unnormals. None of these will be generated by an 80486 or by the
130 Self modifying code can cause the emulator to fail. An example of such
135 queue of the CPU before the mov instruction is executed. If the
136 destination of the 'movl' overlaps the FPU instruction then the bytes
140 exception. For this case, the emulator cannot emulate the behaviour of
143 Handling of the address size override prefix byte (0x67) has not been
150 protection fault message when run under the MS-DOS prompt of Windows
155 write a few bytes below the lowest address of the stack. The emulator
159 ----------------------- Performance of wm-FPU-emu -----------------------
164 The speed of floating point computation with the emulator will depend
194 The performance under Linux is improved by the use of look-ahead code.
220 These figures are now somewhat out-of-date. The emulator has become
221 progressively slower for most functions as more of the 80486 features
225 ----------------------- Accuracy of wm-FPU-emu -----------------------
228 The accuracy of the emulator is in almost all cases equal to or better
229 than that of an Intel 80486 FPU.
231 The results of the basic arithmetic functions (+,-,*,/), and fsqrt
232 match those of an 80486 FPU. They are the best possible; the error for
240 would be 64 bits. The reduced Turbo C accuracy of cos() and tan() for
241 arguments greater than pi/4 can be thought of as being related to the
242 precision of the argument x; e.g. an argument of pi/2-(1e-10) which is
243 accurate to 64 bits can result in a relative accuracy in cos() of
274 consequence, the accuracy of these functions for large arguments has
276 FPU). There is also now no degradation of accuracy for fcos and fptan
278 definition of accuracy has changed slightly from that used for the
291 is within about 10e-7 of a multiple of pi. To find the tan (for
292 example) of this number to 64 bits precision it would be necessary to
293 have a value of pi which had about 150 bits precision. The FPU
298 For arguments close to critical angles (which occur at multiples of
303 Prior to version 1.20 of the emulator, the accuracy of the results for
311 number of randomly selected arguments in each case is about half a
312 million. The group of three columns gives the frequency of the given
313 accuracy in number of times per million, thus the second of these
314 columns shows that an accuracy of between 63.80 and 63.89 bits was
315 found at a rate of 133 times per one million measurements for fsin.
318 result (which is 64 bits)) for about one per cent of all arguments
320 frequency of results which are in error. The last two columns give
322 of the argument which produced it.
338 Tests performed on an 80486 FPU showed results of lower accuracy. The
343 the same). The total number of tests for each instruction are given
344 at the end of the table, in case each about 100k tests were performed.
345 Another line of figures at the end of the table shows that most of the
347 percent of the arguments tested.
349 The numbers in the body of the table give the approx number of times a
350 result of the given accuracy in bits (given in the left-most column)
351 was obtained per one million arguments. For three of the instructions,
352 two columns of results are given: * The second column for f2xm1 gives
353 the number cases where the results of the first column were for a
356 cases of fcos and fptan, the first column gives the results when all
359 results of relatively poor accuracy for these instructions when the
361 accuracy of the results were less than 62 bits, which occurs quite
364 the accuracy of the value of pi.
397 A number of people have contributed to the development of the