[zeromq-dev] [PATCH] uuid_t source code significantly simplified
Pieter Hintjens
ph at imatix.com
Tue Apr 26 09:59:56 CEST 2011
You might use a hex-to-bin conversion without conditionals, if
performance is important. Here's a fragment that used to be in the
Guide helper code:
static char
hex_to_bin [128] = {
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* */
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1, /* 0..9 */
-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* A..F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* */
-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* a..f */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 }; /* */
....
for (byte_nbr = 0; byte_nbr < 16; byte_nbr++)
data [byte_nbr + 1]
= (hex_to_bin [uuidstr [byte_nbr * 2 + 1] & 127] << 4)
+ (hex_to_bin [uuidstr [byte_nbr * 2 + 2] & 127]);
On Tue, Apr 26, 2011 at 9:13 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
More information about the zeromq-dev
mailing list