#ifndef DOUBLE_ERROR_H #define DOUBLE_ERROR_H #include typedef struct {double v; double e;} double_error; double_error int_to_valuetype(int); double_error int_to_exptype(int); double_error infinity_to_exptype(); bool exptype_is_infinite(double_error); bool is_greater_certainly(double_error,double_error); bool is_greater_possibly(double_error,double_error); double_error maximum(double_error,double_error); double_error sum(double_error,double_error); double_error difference(double_error,double_error); double_error product(double_error,double_error); double_error ratio(double_error,double_error); double_error absolute(double_error); double_error power(double_error,double_error); double valuetype_to_double(double_error); int valuetype_to_string(char*,double_error); int valuetype_to_latex(char*,double_error); int exptype_to_string(char*,double_error); int exptype_to_latex(char*,double_error); int root_to_string(char*,double_error,double_error); int root_to_latex(char*,double_error,double_error); #endif