From ad3bf7a91fe79fb85486e33abfdb8d8080325201 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sun, 31 Dec 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-12-31 --- bitsy/gamma.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 bitsy/gamma.c diff --git a/bitsy/gamma.c b/bitsy/gamma.c new file mode 100644 index 0000000000000000000000000000000000000000..489c39bfa43b5cdef482130de7e5669154df215f --- /dev/null +++ b/bitsy/gamma.c @@ -0,0 +1,51 @@ +#include +#include +#include + +double gamma = 1.6; + +int +remap5(int i) +{ + double v; + + v = (double)i/31.0; + return 31.0*pow(v, gamma); +} + +int +remap6(int i) +{ + double v; + + v = (double)i/63.0; + return 63.0*pow(v, gamma); +} + +int +remap(int i) +{ + int r, g, b; + + b = i & 0x1F; + g = (i>>5) & 0x3F; + r = (i>>11) & 0x1F; + return (remap5(r)<<11) | (remap6(g)<<5) | (remap5(b)<<0); +} + +void +main(void) +{ + int i; + + printf("/* gamma = %.2f */\n", gamma); + printf("ushort gamma[65536] = {\n"); + for(i=0; i<65536; i++){ + if((i%8) == 0) + printf("\t"); + printf("0x%.4x, ", remap(i)); + if((i%8) == 7) + printf("\n"); + } + printf("};\n"); +}