require '_h2ph_pre.ph';

unless(defined(&_FENV_H)) {
    die("Never use <bits/fenv.h> directly; include <fenv.h> instead.");
}
eval("sub FE_INVALID () { 0x01; }") unless defined(&FE_INVALID);
eval("sub __FE_DENORM () { 0x02; }") unless defined(&__FE_DENORM);
eval("sub FE_DIVBYZERO () { 0x04; }") unless defined(&FE_DIVBYZERO);
eval("sub FE_OVERFLOW () { 0x08; }") unless defined(&FE_OVERFLOW);
eval("sub FE_UNDERFLOW () { 0x10; }") unless defined(&FE_UNDERFLOW);
eval("sub FE_INEXACT () { 0x20; }") unless defined(&FE_INEXACT);
unless(defined(&FE_ALL_EXCEPT)) {
    sub FE_ALL_EXCEPT () {	( &FE_INEXACT |  &FE_DIVBYZERO |  &FE_UNDERFLOW |  &FE_OVERFLOW |  &FE_INVALID);}
}
eval("sub FE_TONEAREST () { 0; }") unless defined(&FE_TONEAREST);
eval("sub FE_DOWNWARD () { 0x400; }") unless defined(&FE_DOWNWARD);
eval("sub FE_UPWARD () { 0x800; }") unless defined(&FE_UPWARD);
eval("sub FE_TOWARDZERO () { 0xc00; }") unless defined(&FE_TOWARDZERO);
unless(defined(&FE_DFL_ENV)) {
    sub FE_DFL_ENV () {	(( &__const  &fenv_t *) -1);}
}
if(defined(&__USE_GNU)) {
    eval 'sub FE_NOMASK_ENV () {(( &__const  &fenv_t *) -2);}' unless defined(&FE_NOMASK_ENV);
}
1;
