diff options
| author | Julian Weigt <juw@posteo.de> | 2026-01-07 23:17:37 +0000 |
|---|---|---|
| committer | Julian Weigt <juw@posteo.de> | 2026-02-04 15:55:51 +0100 |
| commit | 81eb3bc9abce433d9324badc40bf1b7ce6f24baf (patch) | |
| tree | e2114416af3964efab86346ea8563a8ef328622e /charf.c | |
| parent | 30f57f8a87bc46a64527987d97bc37706076ba40 (diff) | |
Add extra check for printing if new record is significantly larger.
Diffstat (limited to 'charf.c')
| -rw-r--r-- | charf.c | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -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); } } |
