| Test
Generation
for the Binary
Floating
Point Add Operation With Mask-Mask-Mask Constraints |
![]() |
|
| Credits By:
Instructed by:
|
||
|
The mathematical problem discussed is important for generating test cases in order to debug floating point adders designs. Floating point numbers are assumed to be written as strings of {0, 1} bits, in a format compatible with IEEE standard 754. A mask is a string of characters, composed of {'0', '1', 'x'}. A number and a mask are compatible if they have the same length and each numerical character of the mask ('0' or '1') is equal, numerically, to the bit of the number, in the same position. The problem discussed is: Given masks Ma, Mb, Mc, of identical lengths, generate three floating point numbers a, b, c which are compatible with the masks and satisfy c=round(aħb). If there are many solutions, choose one at random. A fast algorithm* is given which solves the problem for all IEEE floating point data types and all rounding modes. |
||
|
Requirements
Given masks for three machine numbers, generate machine numbers, Floating point generator for addition Given six masks, for biased
exponents and for significands, Mea, MSa, Meb, MSb, Mec, MSc, the
generator either generates three non-negative machine numbers, Floating point generator for subtraction Given six masks, for biased
exponents and for significands, Mea, MSa, Meb, MSb, Mec, MSc, the
generator either generates three non-negative machine numbers, The generators should be fast as possible. In case there exist more than one solution, a generator chooses one of them at random. Multiple invocations of the generator, are supposed to make independent random choices. This project is an implementation of the algorithm
described in the article "Test Generation for the Binary Floating Point
Add Operation With Mask Mask Mask Constraints" By Abraham Ziv,
Laurent Fournier. IBM Israel Science Technology. October 3, 2002. |
||
User interface:
|
||
Design:
A word document including the
above diagrams can be downloaded here
For project documentation, CppDoc 2.0. tool was used. please contact ssdl for further information. |
||
|
Tools: o Programming Language:
o Design Tools:
o Compiled with:
o GUI:
o Documentation Tool: |
||
This site includes no source code related to the project implementation, for any further information please contact Technion ssdl (System and Software Development Laboratory).