[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [csmith-dev] Testing floating point optimizations with CSmith
> Can you elaborate on it? My understanding is that the type you referred
to is the type passed to FunctionInvocation::make_random_binary? I am
trying to rephrase the question:
> In FunctionInvocation::make_random_binary, can we force the "type" to be
eInt if the kind of the generated "op" is a comparison operation?
That is exactly what I meant.
> The only easy way that I can think of is to make BinaryOpWorksForFloat
return false upon comparison operations.
This is what I did, but I was wondering if I could solve the problem
without rejecting comparison operators.
Example:
l_2534[0][2][2] = (FLOAT_CMPGT_MACRO(l_2515[0][1] ,
(FLOAT_CMPGT_MACRO(l_2519[2][0][2] , l_2521))))/*sim lhs:float,,
lhs_var:float,: rhs:float,*/;
l_2534 and l_2515 are arrays of floats, l_2521 is a float.
The comment at the end is telling me that types of lhs, lhs_var and rhs
(expr) are all float. But actually rhs should be of type int, and I
should cast it to float_interval in float_test mode.
Jacek Burys