VVariantOak
AI coding workspace

Bounded option combinations

A few options can produce many combinations. VariantOak brings product-option logic and its allocation limit into the same coding conversation, anchored to the files you select.

● ● ●VariantOak●
A concrete starting point · Bounded option combinations ×
from itertools import product
from math import prod
def variants(groups, limit):
    if type(limit) is not int or limit < 0:
        raise ValueError("limit")
    if not groups: return []
    if any(len(set(g)) != len(g) for g in groups):
        raise ValueError("duplicate option")
    if prod(map(len, groups)) > limit:
        raise ValueError("too many variants")
    return list(product(*groups))
✳Enumerate combinations of ordered product options only after checking the result limit.
✓ ChangesReview before applying ↗
Illustrative workspace
  1. Connection

    Base URL, credentials and a reachable server.

  2. Project

    Test an empty group and duplicate option labels, rejecting excess combinations before allocating the output.

  3. Review before applying

    Compare actual behavior with the expected result. If a check fails, investigate it before applying more changes.

Workflows

Bounded option combinations

Workflows ↗
A concrete starting point
from itertools import product
from math import prod
def variants(groups, limit):
    if type(limit) is not int or limit < 0:
        raise ValueError("limit")
    if not groups: return []
    if any(len(set(g)) != len(g) for g in groups):
        raise ValueError("duplicate option")
    if prod(map(len, groups)) > limit:
        raise ValueError("too many variants")
    return list(product(*groups))
AI coding workspace

Your next change starts here.

Get the Windows app ↗