From 05ec36c4a1cc261cf8e45dba75c6dda3e2a79810 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 24 May 2017 12:08:02 +0200 Subject: don't loop --- main.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index ed78f90..e9aceb5 100644 --- a/main.go +++ b/main.go @@ -89,9 +89,13 @@ func Decode(v uint16) string { } func expand(v uint16) int8 { - x := v >> 1 - for i := 7; i > 0; i-- { - v |= x << uint(i) + switch v { + case 0: // 00 → 00000000 + return 0 + case 1: // 01 → 00000001 + return 1 + case 3: // 11 → 11111111 + return -1 } - return int8(v) + return 0 } -- cgit v1.2.3