summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Weigt <juw@posteo.de>2026-01-07 23:17:37 +0000
committerJulian Weigt <juw@posteo.de>2026-02-04 15:55:51 +0100
commit81eb3bc9abce433d9324badc40bf1b7ce6f24baf (patch)
treee2114416af3964efab86346ea8563a8ef328622e
parent30f57f8a87bc46a64527987d97bc37706076ba40 (diff)
Add extra check for printing if new record is significantly larger.
-rw-r--r--charf.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/charf.c b/charf.c
index d6da18b..97bc2a5 100644
--- a/charf.c
+++ b/charf.c
@@ -216,15 +216,18 @@ void compute(EXPTYPE p, int D, VALUETYPE* f, VALUETYPE* records){
&&
(is_greater(r,records[k]))
){
- char s[256];
- sprintf(s,"f: ");
- int l = 3;
- for(int i=0; i<D; i++) l += sprintf(s+l,"%1.0f ",to_double(f[i]));
- for(int i=D; i<N; i++) l += sprintf(s+l," ");
- char rts[128];
- root_to_string(rts,r,p);
- l += sprintf(s+l,"%dth der.: %s\n",k,rts);
- printf("%s",s);
+ /*extra check for printing only because in error mode for some reason floats randomly seem to increase by tiny amounts*/
+ if(t>to_double(records[k])){
+ char s[256];
+ sprintf(s,"f: ");
+ int l = 3;
+ for(int i=0; i<D; i++) l += sprintf(s+l,"%1.0f ",to_double(f[i]));
+ for(int i=D; i<N; i++) l += sprintf(s+l," ");
+ char rts[128];
+ root_to_string(rts,r,p);
+ l += sprintf(s+l,"%dth der.: %s\n",k,rts);
+ printf("%s",s);
+ }
records[k] = maximum(records[k],r);
}
}