summaryrefslogtreecommitdiff
path: root/charf.c
diff options
context:
space:
mode:
Diffstat (limited to 'charf.c')
-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);
}
}