Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Dec 2011 00:48:43 +0000
From:      Igor Mozolevsky <mozolevsky@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        Alexander Best <arundel@freebsd.org>, freebsd-wireless@freebsd.org
Subject:   Re: comparing floating points via "==" or "!="
Message-ID:  <CADWvR2hAohYysntaK_UJcwU10%2Bvy4pDrpSnj-DU%2BKphZLW6Tdw@mail.gmail.com>
In-Reply-To: <CAJ-Vmon4Fn4RAMhHS6skpsy2Lst3XUYXsENSCr0SCQFjQH6c6w@mail.gmail.com>
References:  <20111130224422.GA36424@freebsd.org> <CADWvR2herXkcMaZXFKm_ALBXnVFDhRCNZ-9%2B-MwHVx5XJPG4AA@mail.gmail.com> <20111201000243.GB44877@freebsd.org> <CADWvR2irEU0ANHNG4mvC1voVP6Y3YMTQxs5d35o5SbBTJ8JyfQ@mail.gmail.com> <20111201001158.GA48051@freebsd.org> <CADWvR2iUB4mDFuwbWzqe6bnjShTZEQzQ-ubAx8h7yqGwjcUHKA@mail.gmail.com> <20111201003938.GA52503@freebsd.org> <CAJ-Vmon4Fn4RAMhHS6skpsy2Lst3XUYXsENSCr0SCQFjQH6c6w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1 December 2011 00:43, Adrian Chadd <adrian@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 :-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADWvR2hAohYysntaK_UJcwU10%2Bvy4pDrpSnj-DU%2BKphZLW6Tdw>