#define IS == #define ISNT != typedef double (*func_to_solve_t) (double); extern double solve_func (func_to_solve_t fn, double goal, double guess); inline double max (const double &a, const double &b) { return (a >= b ? a : b); } inline double min (const double &a, const double &b) { return (a <= b ? a : b); } inline double abs (const double &a) { return (fabs (a)); } inline long abs (const long &a) { return (a >= 0 ? a : -a); } extern FILE *log_file; extern bool logging; #define db_printf if (!logging) {} else fprintf