require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&F2C_INCLUDE)) {
    eval 'sub F2C_INCLUDE () {1;}' unless defined(&F2C_INCLUDE);
    eval 'sub qbit_clear {
        my($a,$b) = @_;
	    eval q((($a) & ~(1<< ($b))));
    }' unless defined(&qbit_clear);
    eval 'sub qbit_set {
        my($a,$b) = @_;
	    eval q(( | (1<< ($b))));
    }' unless defined(&qbit_set);
    eval 'sub TRUE_ () {(1);}' unless defined(&TRUE_);
    eval 'sub FALSE_ () {(0);}' unless defined(&FALSE_);
    unless(defined(&Extern)) {
	eval 'sub Extern () { &extern;}' unless defined(&Extern);
    }
    if(defined(&f2c_i2)) {
	die("f2c_i2 will not work with g77!!!!");
    } else {
    }
    eval 'sub VOID () { &void;}' unless defined(&VOID);
    eval 'sub abs {
        my($x) = @_;
	    eval q((($x) >= 0? ($x) : -($x)));
    }' unless defined(&abs);
    eval 'sub dabs {
        my($x) = @_;
	    eval q(( &doublereal) &abs($x));
    }' unless defined(&dabs);
    eval 'sub min {
        my($a,$b) = @_;
	    eval q((($a) <= ($b) ? ($a) : ($b)));
    }' unless defined(&min);
    eval 'sub max {
        my($a,$b) = @_;
	    eval q((($a) >= ($b) ? ($a) : ($b)));
    }' unless defined(&max);
    eval 'sub dmin {
        my($a,$b) = @_;
	    eval q(( &doublereal) &min($a,$b));
    }' unless defined(&dmin);
    eval 'sub dmax {
        my($a,$b) = @_;
	    eval q(( &doublereal) &max($a,$b));
    }' unless defined(&dmax);
    eval 'sub bit_test {
        my($a,$b) = @_;
	    eval q((($a) >> ($b) & 1));
    }' unless defined(&bit_test);
    eval 'sub bit_clear {
        my($a,$b) = @_;
	    eval q((($a) & ~(( &uinteger)1<< ($b))));
    }' unless defined(&bit_clear);
    eval 'sub bit_set {
        my($a,$b) = @_;
	    eval q((($a) | (( &uinteger)1<< ($b))));
    }' unless defined(&bit_set);
    eval 'sub F2C_proc_par_types () {1;}' unless defined(&F2C_proc_par_types);
    if(defined(&__cplusplus)) {
    } else {
    }
    unless(defined(&Skip_f2c_Undefs)) {
	undef(&cray) if defined(&cray);
	undef(&gcos) if defined(&gcos);
	undef(&mc68010) if defined(&mc68010);
	undef(&mc68020) if defined(&mc68020);
	undef(&mips) if defined(&mips);
	undef(&pdp11) if defined(&pdp11);
	undef(&sgi) if defined(&sgi);
	undef(&sparc) if defined(&sparc);
	undef(&sun) if defined(&sun);
	undef(&sun2) if defined(&sun2);
	undef(&sun3) if defined(&sun3);
	undef(&sun4) if defined(&sun4);
	undef(&u370) if defined(&u370);
	undef(&u3b) if defined(&u3b);
	undef(&u3b2) if defined(&u3b2);
	undef(&u3b5) if defined(&u3b5);
	undef(&unix) if defined(&unix);
	undef(&vax) if defined(&vax);
    }
}
1;
