From 944f90c47ffcde862dfe5f258de0b1ebf229c20e Mon Sep 17 00:00:00 2001 From: Julian Weigt Date: Sun, 28 Dec 2025 11:20:32 +0000 Subject: Implement double arithmetic with error bounds. --- charf.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'charf.c') diff --git a/charf.c b/charf.c index 5aabe94..8911ffe 100644 --- a/charf.c +++ b/charf.c @@ -4,13 +4,21 @@ #include #include -#ifndef EXACT -#define EXACT false +#define DOUBLEMODE 0 +#define DOUBLEERRORMODE 1 +#define RATIOMODE 2 + +#ifndef MODE +#define MODE DOUBLEMODE #endif #define NUM_THREADS 6 -#if EXACT +#if MODE == DOUBLEERRORMODE +#include "double-error.h" +#define VALUETYPE double_error +#define EXPTYPE double_error +#elif MODE == RATIOMODE #include "ratio.h" #define VALUETYPE rational #define EXPTYPE unsigned int @@ -173,7 +181,9 @@ void compute(EXPTYPE p, int t){ printf("f: "); for(int i=0;i