Retourner au contenu associé (entrée de forum : Marquer un double comme étant non élaboré.)
Posté par locnet le 26 juin 2005 à 21:35. En réponse au message Marquer un double comme étant non élaboré.. Évalué à 1.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Nan...
Posté par locnet . En réponse au message Marquer un double comme étant non élaboré.. Évalué à 1.
avec un "union" ?
L'exemple de 'nan.h' n'est pas encouragant.
# define NAN (__builtin_nanf(""))
#elif defined__GNUC__
# define NAN \
(__extension__ \
((union { unsigned __l __attribute__((__mode__(__SI__))); float __d; }) \
{ __l: 0x7fc00000UL }).__d)
#else
# include <endian.h>
# if __BYTE_ORDER == __BIG_ENDIAN
# define __nan_bytes { 0x7f, 0xc0, 0, 0 }
# endif
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __nan_bytes { 0, 0, 0xc0, 0x7f }
# endif
static union { unsigned char __c[4]; float __d; } __nan_union
__attribute_used__ = { __nan_bytes };
# define NAN (__nan_union.__d)
#endif