v1
2/28/2025 by mikecat -00
Setup HTML - click to add setup HTML
Setup JS - click to add setup JavaScript
delete caserun single casemove downdrag and drop case


ready



function isEvenParity8bit(value) {
	let cnt = 0;
	for (let i = 0; i < 8; i++) {
		if ((value >> i) & 1) cnt++;
	}
	return cnt % 2 == 0;
}

let cnt = 0;
for (let i = 0; i < 256; i++) {
	if (isEvenParity8bit(i)) cnt++;
}
if (cnt !== 128) throw new Error();
 
delete caserun single casemove upmove downdrag and drop case


ready



function isEvenParity8bit(value) {
	value = (value & 0x55) + ((value & 0xaa) >> 1);
	value = (value & 0x33) + ((value & 0xcc) >> 2);
	value = (value & 0x0f) + ((value & 0xf0) >> 4);
	return value % 2 == 0;
}

let cnt = 0;
for (let i = 0; i < 256; i++) {
	if (isEvenParity8bit(i)) cnt++;
}
if (cnt !== 128) throw new Error();
 
delete caserun single casemove updrag and drop case


ready



function isEvenParity8bit(value) {
	value ^= value >> 1;
	value ^= value >> 2;
	value ^= value >> 4;
	return !(value & 1);
}

let cnt = 0;
for (let i = 0; i < 256; i++) {
	if (isEvenParity8bit(i)) cnt++;
}
if (cnt !== 128) throw new Error();
 
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN