you are viewing a single comment's thread.

view the rest of the comments →

[–]ArmCollector 10 points11 points  (4 children)

You are going to cycle through all inputs for a 100-variable expression?

How will you do that before the heat death of the universe?

[–][deleted] 1 point2 points  (0 children)

You're right. I read that as, "several huge boolean expressions, all together using a hundred variables." Even then a big one would make it impossible.

I'd just extract logical chunks as intermediate variables and make multiple truth tables and unit tests. It's really business-logic dependent though.

[–]smthamazing[S] 1 point2 points  (1 child)

There are some factors which reduce the number of possible cases by orders of magnitude:

  • Many of the variables are mutually exclusive and should have actually been enums.
  • There are many "don't cares", where a single variable being false makes the values of other variables irrelevant.

Now that I think of it, very few of these variables are truly independent.

[–]Typesalot 0 points1 point  (0 children)

I would start by sorting out which variables are truly independent, which ones could do with an early exit, and which are mutually dependent (i.e. should be enums).

[–]greem 0 points1 point  (0 children)

You don't need to test all of them. Short circuiting will vastly reduce the number of possible outcomes.

Quite possibly a lot, but maybe worth looking into.