On Aug 6, 2008, at 4:06 AM, Charles Forsyth wrote:

My  program uses some of them (DBL_MIN, DBL_MAX, DBL_EPSILON), and
including <ape/float.h> yields name clashes. Thanks.

#include <u.h>
...
#include <ape/float.h>

it's surprisingly important not to leave out important information, such as what important things were in the "..." (other include files) and, most importantly, the particular "name clashes".

i'd noticed you were using <ape/float.h> not <float.h> which i'd thought curious (were you mixing APE and Plan 9 include files?) but like most others i'd initially
assumed the "name clashes" had to do with the DBL_ names. odd.


Yes. Plan 9 has no float.h of its own.

guessing that the "..." contained "#include <libc.h>" and trying a little test,
I find that probably the "name clashes" were (was?) probably singular:

/386/include/ape/float.h:43 yy.c:3 redeclare tag: FPdbleword


The other is in <u.h>.

so now we know the problem, what to do about it?
i know an unpleasant way but perhaps someone else can think of a good way to get those values outside the APE include files. libc.h doesn't define equivalents. perhaps the values aren't actually all that useful (i'm not sure how i'd use
them myself in a calculator, for instance).



If your unpleasant way is to copy float.h, it won't work; you'll need one for each $objtype. I found an algorithm to get epsilon, but not min or max.


Reply via email to