Precision and Dynamic Range Questions
Posted: Sun Jan 18, 2009 7:02 pm
I have a number of questions relating to the accuracy and resolution and
the values of some of the internal operations.
1. What are the accuracy, resolution and dynamic range of the LOG2
operation? I did not see this stated anywhere. The LOG2 output
is divided by 16, indicating at least a 16 bit dynamic range, but the
accuracy and the precision do not appear to be stated anywhere.
It would be useful to know these in order to be able to establish an
upper error bound on the computations involving LOG2 and EXP2.
Also, is the divide by 16 done with rounding or with truncation?
2. What are the accuracy, resolution and dynamic range of the EXP2
operation? I did not see this stated anywhere. Also, Is taking the
LOG2 of an in-range value and then following that with an EXP2
guaranteed to exactly reproduce the original input value to the
LOG2? The answer surely has to be no, but I would like to know
how close to the original input value is to be expected.
3. What are the sizes of the immediate values in the Boolean operations?
The AND, OR and XOR operation examples show up to 23 bits in binary
constant values. Are the Boolean immediate values really 23 bits long
or are they 24 bits long, or some other size? This should be specified
within the Boolean operation explanations.
4. The NOT instruction actually appears to be a NEG instruction based on
the description. A NOT would perform ones' complement while a NEG
performs twos' complement unless the FV-1 uses ones' complement for
the internal representations. Other examples suggest that the FV-1 uses
twos' complement rather than ones' complement arithmetic, hence the
question: is NOT performing a ones
the values of some of the internal operations.
1. What are the accuracy, resolution and dynamic range of the LOG2
operation? I did not see this stated anywhere. The LOG2 output
is divided by 16, indicating at least a 16 bit dynamic range, but the
accuracy and the precision do not appear to be stated anywhere.
It would be useful to know these in order to be able to establish an
upper error bound on the computations involving LOG2 and EXP2.
Also, is the divide by 16 done with rounding or with truncation?
2. What are the accuracy, resolution and dynamic range of the EXP2
operation? I did not see this stated anywhere. Also, Is taking the
LOG2 of an in-range value and then following that with an EXP2
guaranteed to exactly reproduce the original input value to the
LOG2? The answer surely has to be no, but I would like to know
how close to the original input value is to be expected.
3. What are the sizes of the immediate values in the Boolean operations?
The AND, OR and XOR operation examples show up to 23 bits in binary
constant values. Are the Boolean immediate values really 23 bits long
or are they 24 bits long, or some other size? This should be specified
within the Boolean operation explanations.
4. The NOT instruction actually appears to be a NEG instruction based on
the description. A NOT would perform ones' complement while a NEG
performs twos' complement unless the FV-1 uses ones' complement for
the internal representations. Other examples suggest that the FV-1 uses
twos' complement rather than ones' complement arithmetic, hence the
question: is NOT performing a ones