--- license: mit tags: - pytorch - safetensors - threshold-logic - neuromorphic --- # threshold-popcount8 8-bit population count. Counts the number of 1 bits in an 8-bit input. ## Function popcount8(a7..a0) = count of 1 bits (0 to 8) Output is 4 bits: y3y2y1y0 representing count in binary. ## Truth Table (selected rows) | Input | Count | Output | |-------|-------|--------| | 00000000 | 0 | 0000 | | 00000001 | 1 | 0001 | | 01010101 | 4 | 0100 | | 11110000 | 4 | 0100 | | 11111111 | 8 | 1000 | ## Architecture - y3 = (sum == 8) - y2 = (sum >= 4) AND (sum <= 7) - y1 = ((sum >= 2) AND (sum <= 3)) OR ((sum >= 6) AND (sum <= 7)) - y0 = XOR8 (parity of all 8 bits) The parity computation uses a tree of XOR gates: XOR pairs, then XOR the results. ## Parameters | | | |---|---| | Inputs | 8 | | Outputs | 4 | | Neurons | 31 | | Layers | 5 | | Parameters | 177 | | Magnitude | 163 | ## Usage ```python from safetensors.torch import load_file # See create_safetensors.py for full implementation # popcount8(1,0,1,0,1,0,1,0) = [0,1,0,0] = 4 ``` ## License MIT