TRAGEDY 
local girl tries to compress TWO (2) 0-11 integer pairs and ONE (1) boolean into a single byte and calculates she needs TWO HUNDRED SIXTY FOUR (264) unique values to account for every permutation

genderfluid dumbass full of love amongst other things
i make games at ko_op :)
cat counter: 291 (record: 523)
TRAGEDY 
local girl tries to compress TWO (2) 0-11 integer pairs and ONE (1) boolean into a single byte and calculates she needs TWO HUNDRED SIXTY FOUR (264) unique values to account for every permutation
before anyone tries to calculate this for me, im compressing double card calls which have a structure of
where cardAIndex will never be the same as cardBIndex, and ideally i want to preserve the order of A and B which makes this 12 possible cardAs times 11 possible cardBs times 2 possible A>B variations and 12 x 11 x 2 is 264
Why do you need the Boolean? Wouldn't it be possible to uncompress the two cards and compare them when needed? At least it'd keep a packed array of them really tiny.
i want to preserve the specific ordering of "5 < 7". "7 > 5" is a different statement and "5 > 7" is a different statement and "7 < 5" is a different statement
Oh, so the comparison is not just from the numbers themselves, but from something else?
it's both for the numbers and for maintaining expression! 5 < 7 and 7 > 5 are mechanically the same, but i want to maintain the distinction between saying "card 7 is bigger than card 5" and "card 5 is smaller than card 7"
Right, but just with that example, the ordering of the cards within your structure already lets you calculate the comparison ahead of time. Hell, you could even store all 12 possibilities for both even if you wouldn't use 'em. A 7<5 or 5>7 is necessary to warrant that Boolean bit.
i am not trying to compress a comparison, i am trying to compress the exact wording of the assertion "card 7 is bigger than card 5". if the exact wording didn't matter then i'd just put both numbers next to each other since you only need 4 bits to store anything less than 16
Ah, I think I'm starting to get it. For some reason I was thinking it was a card with the number on it, not an index to a card. So these examples are comparing the 5th and 7th cards, not the other way around?
Yeah, doing that is more difficult. Having trouble thinking of a solution unless there's a way to compress multiple meanings into a single bit.
If the first card is 0, can the symbol ever be > ? If not, you might be able to shave off some permutations in cases where one of the cards is the maximum / minimum possible value.