comparing floating points via "==" or "!="

Igor Mozolevsky mozolevsky at gmail.com
Thu Dec 1 00:49:25 UTC 2011


On 1 December 2011 00:43, Adrian Chadd <adrian at freebsd.org> wrote:
> Erm, these aren't run-time comparisons though, these are done at compile time.

Aren't they macro expansions:

% gcc -E -
#define NA1(_r) \
59	        (((_r) == 6.5)  ? 8 : (((_r) == 13)  ?  9 : (((_r) == 19.5)? 10 : \
60	        (((_r) == 26)  ? 11 : (((_r) == 39)  ? 12 : (((_r) == 52)  ? 13 : \
61	        (((_r) == 58.5)? 14 : (((_r) == 65)  ? 15 : 0))))))))


NA1(7)


# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"






59 (((7) == 6.5) ? 8 : (((7) == 13) ? 9 : (((7) == 19.5)? 10 : 60
(((7) == 26) ? 11 : (((7) == 39) ? 12 : (((7) == 52) ? 13 : 61 (((7)
== 58.5)? 14 : (((7) == 65) ? 15 : 0))))))))



Cheers,

--
Igor M :-)


More information about the freebsd-wireless mailing list