Joanne Atlee
2010-05-21 18:55:16 UTC
Hi everyone,
As some of you have noticed, the provided executable for Question 2 has
a precision that is *much* less than desired -- due to innate
imprecisions in floating-point number representation.
To recover from this problem as best that we can, we are providing two
executables for you to use to test your program:
- the original executable. This uses floating point representation,
but integer values (to reduce the amount of floating point arithmetic).
So it is more precise than simply maintaining a double typed data
member and performing floating point arithmetic.
- a more precise executable. This one uses integer types and integer
values (again to reduce the amount of floating point arithmetic even
more). There is more than the above hints to achieve this level of
precision.
You are free to based your solution on either of the provided
executables. We are keeping the original executable around because some
of you have been working to make your solution like ours. You can do so
and receive full credit for this question.
If you want to take the challenge of the question as it was originally
intended, we provide a new executable. We believe that it is precise to
Money values of +/= $50 billion, and multiplication factors that have up
to 2 decimal places. You can receive up to 10 additional marks on the
assignment for achieving this level of precision.
The name of your submitted solution is the same, regardless of which
level of precision you achieve. If you are submitting the more precise
solution, look for the Marmoset Q2 BONUS submission.
Lastly, for your information, we'll be running the test scripts on
linux006.student.cs. It has
int 4 byte
long 8 byte
long long 8 byte
double 8 byte
long double 16 byte
I apologize for the late detection of the lack of precision in our
original provided executable. I hope that the chance for doing better
than my original solution, and for getting bonus marks (and bragging
rights) for doing so will partially make up for this.
Jo
As some of you have noticed, the provided executable for Question 2 has
a precision that is *much* less than desired -- due to innate
imprecisions in floating-point number representation.
To recover from this problem as best that we can, we are providing two
executables for you to use to test your program:
- the original executable. This uses floating point representation,
but integer values (to reduce the amount of floating point arithmetic).
So it is more precise than simply maintaining a double typed data
member and performing floating point arithmetic.
- a more precise executable. This one uses integer types and integer
values (again to reduce the amount of floating point arithmetic even
more). There is more than the above hints to achieve this level of
precision.
You are free to based your solution on either of the provided
executables. We are keeping the original executable around because some
of you have been working to make your solution like ours. You can do so
and receive full credit for this question.
If you want to take the challenge of the question as it was originally
intended, we provide a new executable. We believe that it is precise to
Money values of +/= $50 billion, and multiplication factors that have up
to 2 decimal places. You can receive up to 10 additional marks on the
assignment for achieving this level of precision.
The name of your submitted solution is the same, regardless of which
level of precision you achieve. If you are submitting the more precise
solution, look for the Marmoset Q2 BONUS submission.
Lastly, for your information, we'll be running the test scripts on
linux006.student.cs. It has
int 4 byte
long 8 byte
long long 8 byte
double 8 byte
long double 16 byte
I apologize for the late detection of the lack of precision in our
original provided executable. I hope that the chance for doing better
than my original solution, and for getting bonus marks (and bragging
rights) for doing so will partially make up for this.
Jo