Messages in this thread Patch in this message | | | From | Anshul Garg <> | Subject | [PATCH] lib/int_sqrt.c: Optimize square root function | Date | Thu, 29 Jan 2015 05:35:25 -0800 |
| |
From: Anshul Garg <aksgarg1989@gmail.com>
Unnecessary instructions are executing even though m is greater than x so added logic to make m less than equal to x before performing these operations.
Signed-off-by: Anshul Garg <aksgarg1989@gmail.com> --- lib/int_sqrt.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c index 1ef4cc3..64ae722 100644 --- a/lib/int_sqrt.c +++ b/lib/int_sqrt.c @@ -22,6 +22,9 @@ unsigned long int_sqrt(unsigned long x) return x; m = 1UL << (BITS_PER_LONG - 2); + + while (m > x) + m >>= 2; while (m != 0) { b = y + m; y >>= 1; -- 1.7.9.5
--- This email has been checked for viruses by Avast antivirus software. http://www.avast.com
| |