Alejandro Colomar 0712b236c3 
	
	
	Add bit manipulation functions ... 
			We do need the unoptimized version of csrand_uniform() for high values
of `n`, since the optimized version depends on having __int128, and it's
not available on several platforms, including ARMv7, IA32, and MK68k.
This reverts commit 848f53c1d3c1362c86d3baab6906e1e4419d2634; however,
I applied some tweaks to the reverted commit.
Reported-by: Adam Sampson <ats@offog.org >
Cc: Iker Pedrosa <ipedrosa@redhat.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org > 
		
	 
		2023-01-30 18:24:15 +01:00 
	 
	
	
	
		 
	
	
		
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-05 10:47:19 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-30 18:24:15 +01:00 
		 
	
		
			
			
			
			
			
			2022-08-06 11:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2022-09-02 20:27:14 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-08-17 12:34:01 -05:00 
		 
	
		
			
			
			
			
			
			2022-01-02 18:38:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-02 18:38:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-02 18:38:42 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 18:03:39 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-25 12:31:17 +01:00 
		 
	
		
			
			
			
			
			
			2023-01-27 21:48:37 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 18:03:39 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-25 12:31:17 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 10:31:43 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 10:31:43 +01:00 
		 
	
		
			
			
			
			
			
			2022-10-06 20:09:35 -05:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-10-06 20:09:35 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-29 02:41:09 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-08-06 11:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2023-01-25 12:31:17 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-27 21:48:37 -06:00 
		 
	
		
			
			
			
			
			
			2022-08-06 11:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-30 18:24:15 +01:00 
		 
	
		
			
			
			
			
			
			2022-08-06 11:27:56 -05:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-01-03 15:09:17 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-08-17 12:34:01 -05:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2022-08-06 15:04:06 -05:00 
		 
	
		
			
			
			
			
			
			2023-01-27 21:48:37 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-02 18:38:42 -06:00 
		 
	
		
			
			
			
			
			
			2022-01-03 15:09:17 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 10:39:45 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 11:43:29 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-22 10:31:43 +01:00 
		 
	
		
			
			
			
			
			
			2022-12-22 18:03:39 -06:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-26 22:44:39 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-26 22:44:39 -06:00 
		 
	
		
			
			
			
			
			
			2022-12-15 16:22:05 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-26 22:44:39 -06:00 
		 
	
		
			
			
			
			
			
			2023-01-26 22:44:39 -06:00 
		 
	
		
			
			
			
			
			
			2022-09-29 16:03:53 +02:00 
		 
	
		
			
			
			
			
			
			2021-12-23 19:36:50 -06:00