Bitbybit Docs
    Preparing search index...

    Class Logic

    Booleanos e decisões: comparar valores, inverter booleanos, transformar listas de números em listas de booleanos por limiares, sortear booleanos aleatórios, e filtrar um valor para que só passe quando uma condição se verifica. Os métodos de limiar são a forma habitual de decidir que itens de um padrão recebem uma característica e quais não.

    Index

    Constructors

    create

    • Passa um booleano adiante sem alteração, para que um valor possa receber um nome e ser reutilizado.

      Exemplo: true -> true

      Parameters

      Returns boolean

      O mesmo booleano

    • Sorteia uma lista de booleanos aleatórios, cada um verdadeiro com uma dada probabilidade.

      Exemplo: comprimento 5 com trueThreshold 0.7 -> talvez [true, true, false, true, true]

      Parameters

      Returns boolean[]

      Os booleanos aleatórios

      const flags = bitbybit.logic.randomBooleans({ length: 5, trueThreshold: 0.7 });
      
    • Transforma números em booleanos com uma mistura aleatória entre dois limiares.

      Abaixo do primeiro limiar um número é sempre verdadeiro, acima do segundo sempre falso; entre eles, a probabilidade de verdadeiro desce em passos de um para o outro, de modo que um padrão desvanece em vez de mudar bruscamente. Exemplo: [0.1, 0.9] com limiares 0.3 e 0.7 -> [true, false]

      Parameters

      Returns boolean[]

      Um booleano por número

      const fade = bitbybit.logic.twoThresholdRandomGradient({
      numbers: [0.1, 0.4, 0.6, 0.9],
      thresholdTotalTrue: 0.3,
      thresholdTotalFalse: 0.7,
      nrLevels: 10,
      });
    • Transforma números em booleanos: verdadeiro abaixo do limiar, falso nele ou acima dele.

      inverse inverte todos os resultados. Exemplo: [0.3, 0.7, 0.5] com limiar 0.6 -> [true, false, true]

      Parameters

      Returns boolean[]

      Um booleano por número

      const below = bitbybit.logic.thresholdBooleanList({ numbers: [0.3, 0.7, 0.5], threshold: 0.6, inverse: false });
      
    • Transforma números em booleanos: verdadeiro quando o número cai dentro de qualquer um dos intervalos dados, falso caso contrário.

      Cada intervalo é [min, max] com ambas as extremidades incluídas; inverse inverte todos os resultados. Exemplo: [0.2, 0.5, 0.8] com intervalos [[0.3, 0.6], [0.7, 0.9]] -> [false, true, true]

      Parameters

      Returns boolean[]

      Um booleano por número

      const inside = bitbybit.logic.thresholdGapsBooleanList({
      numbers: [0.2, 0.5, 0.8],
      gapThresholds: [[0.3, 0.6], [0.7, 0.9]],
      inverse: false,
      });

    edit

    • Inverte um booleano: verdadeiro passa a falso e falso passa a verdadeiro.

      Exemplo: true -> false

      Parameters

      Returns boolean

      O booleano oposto

    • Inverte todos os booleanos de uma lista.

      Exemplo: [true, false, true] -> [false, true, false]

      Parameters

      Returns boolean[]

      Os booleanos invertidos, pela mesma ordem

    operations

    • Compara dois valores com um operador: menor, menor ou igual, maior, maior ou igual, igual ou diferente, na forma livre (==) ou estrita (===).

      Exemplo: 5 maior que 3 -> true; 'hello' estritamente igual a 'world' -> false

      Type Parameters

      • T

      Parameters

      Returns boolean

      O resultado da comparação

      const bigger = bitbybit.logic.compare({ first: 5, second: 3, operator: Bit.Inputs.Logic.BooleanOperatorsEnum.greater });
      
    • Deixa passar um valor quando o booleano é verdadeiro e dá undefined quando é falso.

      Exemplo: 42 com true -> 42; 42 com false -> undefined

      Type Parameters

      • T

      Parameters

      Returns T

      O valor, ou undefined quando a porta está fechada

      const maybe = bitbybit.logic.valueGate({ value: 42, boolean: true });
      
    • Escolhe o primeiro de dois valores que esteja definido, de modo que o segundo funciona como recurso.

      Exemplo: 42 e 10 -> 42; undefined e 10 -> 10

      Type Parameters

      • T
      • U

      Parameters

      Returns T | U

      O primeiro valor definido, ou undefined quando ambos estão em falta

      const chosen = bitbybit.logic.firstDefinedValueGate({ value1: undefined, value2: 10 });