ref: 1ee40b966070c372cd1a7c51ee435b784ba2bbf4
parent: 78d4f8ca8f462767be689494fec6f5f76d0c91e6
author: eli <eli@singularity>
date: Sun Sep 21 04:15:57 EDT 2025
round function
--- a/llama2.c
+++ b/llama2.c
@@ -161,20 +161,20 @@
free(s->value_cache);
}
-float round(float in) {- float f;
+double round(double in) {+ double fract;
- f = fmod(in, 1.0);
+ fract = modf(in, &in);
- if (in > 0) {- if (f < 0.5)
- return floor(in);
- return ceil(in);
+ if (in >= 0.0) {+ if (fract < 0.5)
+ return in;
+ return (in + 1.0);
}
- if (f > -0.5)
- return ceil(in);
- return floor(in);
+ if (fract > -0.5)
+ return in;
+ return (in - 1.0);
}
// ----------------------------------------------------------------------------
--
⑨