trinity.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5/7] Simplify get_interesting_16bit_value()
@ 2015-03-04 21:11 tyson.w.smith
  0 siblings, 0 replies; only message in thread
From: tyson.w.smith @ 2015-03-04 21:11 UTC (permalink / raw)
  To: davej; +Cc: trinity, Tyson Smith

From: Tyson Smith <tyson.w.smith@gmail.com>

Removed values that overlap with get_interesting_8bit_value() and others
that are covered by the 2^n case and 2^n with plus_minus_two().
---
 interesting-numbers.c | 26 ++++++--------------------
 1 file changed, 6 insertions(+), 20 deletions(-)

diff --git a/interesting-numbers.c b/interesting-numbers.c
index 311b16d..070ddfa 100644
--- a/interesting-numbers.c
+++ b/interesting-numbers.c
@@ -31,28 +31,14 @@ static unsigned char get_interesting_8bit_value(void)
 	}
 }
 
-static int get_interesting_16bit_value(void)
+static unsigned short get_interesting_16bit_value(void)
 {
-	int num = 0;
-
-	switch (rand() % 7) {
-	case 0:	num = 0;
-		break;
-	case 1:	num = -32768;
-		break;
-	case 2:	num = -129;
-		break;
-	case 3:	num = 255;
-		break;
-	case 4:	num = 32767;
-		break;
-	case 5:	num = 1UL << (rand() % 15);
-		break;
-	case 6:	num = rand() % 0xffff;
-		break;
+	switch (rand() % 4) {
+	case 0: return 0x8000 >> (rand() & 7);		// 2^n (0x100 -> 0x8000)
+	case 1: return rand() & 0xffff;				// 0 -> 0xffff
+	case 2: return 0xff00 | (rand() & 0xff);	// 0xff00 -> 0xffff
+	default: return 0xffff;						// max
 	}
-
-	return num;
 }
 
 static unsigned int get_interesting_32bit_value(void)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-03-04 21:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-04 21:11 [PATCH 5/7] Simplify get_interesting_16bit_value() tyson.w.smith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).