>From signbit manpage:
This is not the same as x < 0.0, because IEEE 754 floating point allows zero
to be signed. The comparison -0.0 < 0.0 is false, but signbit(-0.0)
will return a nonzero value.
I think that for consistency (and especially because MSVC ends not being as
widely tested as gcc), we should match the spec. This can easily be done using
an inline and an union.
Jose
----- Original Message -----
> Fixes compilation failure with MSVC since 0f3ba405.
> ---
> src/mesa/main/imports.h | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
> index 81da510..4deca6a 100644
> --- a/src/mesa/main/imports.h
> +++ b/src/mesa/main/imports.h
> @@ -145,6 +145,13 @@ static inline int isblank(int ch) { return ch ==
> ' ' || ch == '\t'; }
> /*@}*/
>
>
> +/*
> + * signbit() is a macro on Linux. Not available on Windows.
> + */
> +#ifndef signbit
> +#define signbit(x) ((x) < 0.0)
> +#endif
> +
>
> /** single-precision inverse square root */
> static inline float
> --
> 1.7.3.4
>
> _______________________________________________
> mesa-dev mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev