require '_h2ph_pre.ph';

unless(defined(&_MATH_H)) {
    die("Never use <bits/nan.h> directly; include <math.h> instead.");
}
if(defined(&__GNUC__)) {
    eval 'sub NAN () {( &__extension__ ((\'union union\' {  &unsigned __l __attribute__(( &__mode__( &__SI__)));  &float  &__d; }) {  &__l: 0x7fc00000 }). &__d);}' unless defined(&NAN);
} else {
    require 'endian.ph';
    if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__BIG_ENDIAN) ? &__BIG_ENDIAN : 0)) {
	eval 'sub __nan_bytes () {{ 0x7f, 0xc0, 0, 0};}' unless defined(&__nan_bytes);
    }
    if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__LITTLE_ENDIAN) ? &__LITTLE_ENDIAN : 0)) {
	eval 'sub __nan_bytes () {{ 0, 0, 0xc0, 0x7f };}' unless defined(&__nan_bytes);
    }
    eval 'sub NAN () {( ($__nan_union->{__d}));}' unless defined(&NAN);
}
1;
