I do not have the problem of no vectors testing the square root (a 100
in the third line of the text block), but I have the same repetition
issue you mentioned (32 numbers, all possible pairs, repeat). This is
obviously inadequate (and a waste of simulation time), but I don't
know if did something wrong in compiling and running under Linux (I
only made tiny changes from the 386-Win-GCC directory before typing
make). I might not have noticed this had it not been for your email
and a Matlab script I was using to check this file (it printed a
miscompare every time the case '80000000'/'80000000' was run since I
used a different convention for coding NaN ('7F800001') to match David
Bishop's VHDL (http://www.eda.org/fphdl), whereas SoftFloat outputs
'FFC00000' which of course satisfies IEEE 754).
I'll start looking at the C code next. I might also try this on a
SPARC machine which I have access too. Does anyone else see this
problem? (It's easy to diagnose, just see if you have the string
'4F7A0000' on line 5 and then keep searching for this string. If you
keep seeing the same pattern of text go by, you have the problem.)
When I tried to come up with my own set of test vectors before coming
across this project, I did something similar (a vector of 20 or so
numbers including all special cases such as +/- INF, +/- zero) and
then formed all possible pairs. I then randomly generated normal or
subnormal numbers after that. This isn't very rigorous, and I thought
there were some known "difficult examples" which were generated by
maketest.bat. If I can't figure out what is going on here, I'll have
to go back to my method.
Dara Parsavand
--- In 32bit_fpu@yahoogroups.com, "thirtyninewinks"
<chris.kingsley@...> wrote:
>
> The instructions for getting test vectors suggest running
> timesoftfloat. However, that program was designed not to test the
> accuracy of the results, just to test how long it takes softfloat to
> do the arithmetic. For 32 bit operations it has a list of 32
> different numbers. It applies the operation for all pairs of the
> 32X32 numbers -- you can ask for 100000 vectors, but you get 100
> copies of the same 1024 argument values.
>
> In addition, there are no vectors testing square root.
>
> (This is after modifying the given timesoftfloat.c to even print the
> values. As downloaded it didn't print anything but the time to do the
> operations.)
>