shithub: util

Download patch

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);
 }
 
 // ----------------------------------------------------------------------------
--