/* * 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> /** * int_sqrt - rough approximation to sqrt * @x: integer of which to calculate the sqrt * * A very rough approximation to the sqrt() function. */
unsigned long int_sqrt(unsigned long x) { unsigned long b, m, y = 0; if (x <= 1) return x; m = 1UL << (BITS_PER_LONG - 2); 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 | andrew morton | 38 | 47.50% | 1 | 33.33% |
davidlohr bueso | davidlohr bueso | 36 | 45.00% | 1 | 33.33% |
peter williams | peter williams | 6 | 7.50% | 1 | 33.33% |
Total | 80 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
andrew morton | andrew morton | 49 | 52.69% | 1 | 25.00% |
davidlohr bueso | davidlohr bueso | 37 | 39.78% | 1 | 25.00% |
peter williams | peter williams | 6 | 6.45% | 1 | 25.00% |
paul gortmaker | paul gortmaker | 1 | 1.08% | 1 | 25.00% |
Total | 93 | 100.00% | 4 | 100.00% |