git: bcf2e78dc483 - main - diff: replace isqrt() with sqrt()

Piotr Pawel Stefaniak pstef at FreeBSD.org
Wed Sep 15 23:59:52 UTC 2021


The branch main has been updated by pstef:

URL: https://cgit.FreeBSD.org/src/commit/?id=bcf2e78dc48378456798191f1c15cb76d6221a65

commit bcf2e78dc48378456798191f1c15cb76d6221a65
Author:     Piotr Pawel Stefaniak <pstef at FreeBSD.org>
AuthorDate: 2021-09-05 00:42:56 +0000
Commit:     Piotr Pawel Stefaniak <pstef at FreeBSD.org>
CommitDate: 2021-09-15 23:46:43 +0000

    diff: replace isqrt() with sqrt()
    
    Remove cruft and use a system-provided and maintained function instead.
---
 usr.bin/diff/diffreg.c | 23 ++---------------------
 1 file changed, 2 insertions(+), 21 deletions(-)

diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c
index 45821ad96e8c..c743c862f2d6 100644
--- a/usr.bin/diff/diffreg.c
+++ b/usr.bin/diff/diffreg.c
@@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <math.h>
 #include <paths.h>
 #include <regex.h>
 #include <stdbool.h>
@@ -194,7 +195,6 @@ static int	 fetch(long *, int, int, FILE *, int, int, int);
 static int	 newcand(int, int, int);
 static int	 search(int *, int, int);
 static int	 skipline(FILE *);
-static int	 isqrt(int);
 static int	 stone(int *, int, int *, int *, int);
 static enum readhash readhash(FILE *, int, unsigned *);
 static int	 files_differ(FILE *, FILE *, int);
@@ -569,25 +569,6 @@ equiv(struct line *a, int n, struct line *b, int m, int *c)
 	c[j] = -1;
 }
 
-/* Code taken from ping.c */
-static int
-isqrt(int n)
-{
-	int y, x = 1;
-
-	if (n == 0)
-		return (0);
-
-	do { /* newton was a stinker */
-		y = x;
-		x = n / x;
-		x += y;
-		x /= 2;
-	} while ((x - y) > 1 || (x - y) < -1);
-
-	return (x);
-}
-
 static int
 stone(int *a, int n, int *b, int *c, int flags)
 {
@@ -598,7 +579,7 @@ stone(int *a, int n, int *b, int *c, int flags)
 	if (flags & D_MINIMAL)
 		bound = UINT_MAX;
 	else {
-		sq = isqrt(n);
+		sq = sqrt(n);
 		bound = MAX(256, sq);
 	}
 


More information about the dev-commits-src-all mailing list