28 return 0 < mpfr_sgn(radius) && mpfr_regular_p(radius);
35 mpfr_log2(t, radius, MPFR_RNDN);
36 mpfr_prec_t p = ceil(fmax(53, 16 - mpfr_get_d(t, MPFR_RNDN)));
44 FILE *f = fopen(filename,
"rb");
47 fseek(f, 0, SEEK_END);
49 fseek(f, 0, SEEK_SET);
51 b = (
char *) malloc(*length + 1);
53 if (1 != fread(b, *length, 1, f)) {
67 if (! source) {
return 0; }
68 if (! *source) {
return 0; }
69 char *delim = strchr(*source, separator);
70 char *result = *source;
82 char *cr = strrchr(result,
'\r');
87 if (0 == strncmp(
"\xEF\xBB\xBF", result, 3)) {
93 bool parse(
const char *source,
int length, mpfr_t cx, mpfr_t cy, mpfr_t cz) {
94 #define P(p) if (parse_##p(source, length, cx, cy, cz)) return true
118 if (
parse(b, length, cx, cy, cz)) {