gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] Development for Win32


From: Tonko Juricic
Subject: Re: [Gnash-dev] Development for Win32
Date: Sun, 16 Nov 2008 23:05:23 -0500

On Sun, Nov 16, 2008 at 9:51 PM, Bastiaan Jacques <address@hidden> wrote:

> For a different approach, you can have a look at the isInf function
> template in as_value.h. I'm thinking we should use that implementation
> to replace isFinite to make it more portable. In general I don't like
> #ifdef MY_PLATFORM very much (this is also why we prefer to use
> boost::thread, for example). Of course this is not always possible.


Ok, I'm all for better portability via boost. I did find one Win32
implementation of code for dirent.h
 (it is a rather simple port) but now you got me thinking about using
boost also for directory functions
like these in dirent.h.

Anyhow if in utility.h I included  as_value.h so that new version of
isFinite(d) becomes:

inline bool isFinite(double d)
{
      return !isinf(d);
}

we now have an unpleasant circular dependency since isinf is defined
in terms of isNaN.
isNaN in turn uses UNUSED macro which is defined at the bottom of utility.h.

VC++ gave me a ride and for quite some time I couldn't interpret the
errors - why
doesn't it find isinf identifier, am I missing namespace qualifier,  etc, etc ?

Thus I removed this line, including uitility.h in as_value.h

#include "utility.h" // UNUSED

Now we have:

template <typename T>
inline bool
isNaN(const T& num, typename
boost::enable_if<boost::is_floating_point<T> >::type* dummy = 0)
{
        dummy; // UNUSED(dummy);
        return num != num;
}

You (plural) are Ok with this?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]