Messages in this thread
Patch in this message
 Subject [PATCH 14/31] lib: bch: use parity32 From "zhaoxiu.zeng" <> Date Sun, 27 Mar 2016 15:01:59 +0800
`From: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>--- lib/bch.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-)diff --git a/lib/bch.c b/lib/bch.cindex bc89dfe4..6c6e8d4 100644--- a/lib/bch.c+++ b/lib/bch.c@@ -278,18 +278,6 @@ static inline int deg(unsigned int poly) 	return fls(poly)-1; } -static inline int parity(unsigned int x)-{-	/*-	 * public domain code snippet, lifted from-	 * http://www-graphics.stanford.edu/~seander/bithacks.html-	 */-	x ^= x >> 1;-	x ^= x >> 2;-	x = (x & 0x11111111U) * 0x11111111U;-	return (x >> 28) & 1;-}- /* Galois field basic operations: multiply, divide, inverse, etc. */  static inline unsigned int gf_mul(struct bch_control *bch, unsigned int a,@@ -494,7 +482,7 @@ static int solve_linear_system(struct bch_control *bch, unsigned int *rows, 		tmp = 0; 		for (r = m-1; r >= 0; r--) { 			mask = rows[r] & (tmp|1);-			tmp |= parity(mask) << (m-r);+			tmp |= parity32(mask) << (m-r); 		} 		sol[p] = tmp >> 1; 	}-- 2.5.5`

Last update: 2016-03-27 09:41    [W:0.238 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site