// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2013 Davidlohr Bueso <davidlohr.bueso@hp.com> * * Based on the shift-and-subtract algorithm for computing integer * square root from Guy L. Steele. */ #include <linux/kernel.h> #include <linux/export.h> #include <linux/bitops.h> /** * int_sqrt - computes the integer square root * @x: integer of which to calculate the sqrt * * Computes: floor(sqrt(x)) */
unsigned long int_sqrt(unsigned long x) { unsigned long b, m, y = 0; if (x <= 1) return x; m = 1UL << (__fls(x) & ~1UL); while (m != 0) { b = y + m; y >>= 1; if (x >= b) { x -= b; y += m; } m >>= 2; } return y; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 35 | 41.67% | 1 | 20.00% |
Davidlohr Bueso A | 35 | 41.67% | 1 | 20.00% |
Peter Zijlstra | 12 | 14.29% | 2 | 40.00% |
Peter Williams | 2 | 2.38% | 1 | 20.00% |
Total | 84 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Crt Mori | 88 | 100.00% | 1 | 100.00% |
Total | 88 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Crt Mori | 101 | 50.00% | 1 | 11.11% |
Andrew Morton | 45 | 22.28% | 1 | 11.11% |
Davidlohr Bueso A | 36 | 17.82% | 1 | 11.11% |
Peter Zijlstra | 16 | 7.92% | 3 | 33.33% |
Peter Williams | 2 | 0.99% | 1 | 11.11% |
Greg Kroah-Hartman | 1 | 0.50% | 1 | 11.11% |
Paul Gortmaker | 1 | 0.50% | 1 | 11.11% |
Total | 202 | 100.00% | 9 | 100.00% |