MCPcopy Create free account
hub / github.com/CalcProgrammer1/KeyboardVisualizer / main

Function main

KeyboardVisualizerCommon/hsv.cpp:121–158  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119#define DIFF(a,b) ((a) >= (b) ? (a) - (b) : (b) - (a))
120
121int
122main(int argc, char** argv)
123{
124 int r0, g0, b0;
125 hsv_t hsv;
126 int r1, g1, b1;
127 int ok = 0, fuzzy = 0, ko = 0, total;
128
129 for (r0 = 0; r0 < 256; r0++) {
130 for (g0 = 0; g0 < 256; g0++) {
131 for (b0 = 0; b0 < 256; b0++) {
132 COLORREF tmp;
133
134 rgb2hsv(RGB(r0, g0, b0), &hsv);
135 tmp = hsv2rgb(&hsv);
136 r1 = GetRValue(tmp);
137 g1 = GetGValue(tmp);
138 b1 = GetBValue(tmp);
139
140 if (r0 == r1 && b0 == b1 && g0 == g1)
141 ok++;
142 else if (DIFF(r0, r1) <= 1 && DIFF(b0, b1) <= 1 && DIFF(g0, g1) <= 1)
143 fuzzy++;
144 else
145 ko++;
146 }
147 }
148 }
149
150 total = ok + fuzzy + ko;
151
152 printf("Test results:\n");
153 printf(" * exact matches: %8d (%5.2f%%)\n", ok, (100.0 * ok) / total);
154 printf(" * fuzzy matches: %8d (%5.2f%%)\n", fuzzy, (100.0 * fuzzy) / total);
155 printf(" * mismatches: %8d (%5.2f%%)\n", ko, (100.0 * ko) / total);
156
157 return (ko == 0 ? 0 : 1);
158}
159#endif /* TEST */

Callers

nothing calls this directly

Calls 2

rgb2hsvFunction · 0.85
hsv2rgbFunction · 0.85

Tested by

no test coverage detected