Bitbybit Docs
    Preparing search index...

    Class Logic

    Логические значения и решения: сравнение значений, обращение логических значений, превращение списков чисел в списки логических значений по порогам, генерация случайных логических значений и затвор для значения, чтобы оно проходило только при выполнении условия. Пороговые методы - обычный способ решить, какие элементы узора получают элемент, а какие нет.

    Index

    Constructors

    create

    • Передает булево значение без изменений, так что значению можно дать имя и использовать повторно.

      Пример: true -> true

      Parameters

      • inputs: BooleanDto

        Логическое значение

      Returns boolean

      То же логическое значение

    • Разыгрывает список случайных булевых значений, каждое true с заданной вероятностью.

      Пример: length 5 с trueThreshold 0.7 -> возможно [true, true, false, true, true]

      Parameters

      • inputs: RandomBooleansDto

        Сколько логических значений сгенерировать и вероятность true

      Returns boolean[]

      Случайные логические значения

      const flags = bitbybit.logic.randomBooleans({ length: 5, trueThreshold: 0.7 });
      
    • Превращает числа в булевы значения со случайным смешением между двумя порогами.

      Ниже первого порога число всегда true, выше второго всегда false; между ними шанс true падает шагами от одного к другому, так что узор угасает вместо резкого переключения. Пример: [0.1, 0.9] с порогами 0.3 и 0.7 -> [true, false]

      Parameters

      Returns boolean[]

      По одному логическому значению на число

      const fade = bitbybit.logic.twoThresholdRandomGradient({
      numbers: [0.1, 0.4, 0.6, 0.9],
      thresholdTotalTrue: 0.3,
      thresholdTotalFalse: 0.7,
      nrLevels: 10,
      });
    • Превращает числа в булевы значения: true ниже порога, false на нем или выше.

      inverse инвертирует каждый результат. Пример: [0.3, 0.7, 0.5] с порогом 0.6 -> [true, false, true]

      Parameters

      Returns boolean[]

      По одному логическому значению на число

      const below = bitbybit.logic.thresholdBooleanList({ numbers: [0.3, 0.7, 0.5], threshold: 0.6, inverse: false });
      
    • Превращает числа в булевы значения: true, когда число попадает внутрь любого из заданных диапазонов, иначе false.

      Каждый диапазон - [min, max] с включенными обоими концами; inverse инвертирует каждый результат. Пример: [0.2, 0.5, 0.8] с диапазонами [[0.3, 0.6], [0.7, 0.9]] -> [false, true, true]

      Parameters

      Returns boolean[]

      По одному логическому значению на число

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

    edit

    • Инвертирует булево значение: true становится false, а false становится true.

      Пример: true -> false

      Parameters

      • inputs: BooleanDto

        Логическое значение

      Returns boolean

      Противоположное логическое значение

    • Инвертирует каждое булево значение в списке.

      Пример: [true, false, true] -> [false, true, false]

      Parameters

      Returns boolean[]

      Обращенные логические значения, в том же порядке

    operations

    • Сравнивает два значения оператором: меньше, меньше или равно, больше, больше или равно, равно или не равно, в нестрогой (==) или строгой (===) форме.

      Пример: 5 больше 3 -> true; 'hello' строго равно 'world' -> false

      Type Parameters

      • T

      Parameters

      Returns boolean

      Результат сравнения

      const bigger = bitbybit.logic.compare({ first: 5, second: 3, operator: Bit.Inputs.Logic.BooleanOperatorsEnum.greater });
      
    • Пропускает значение, когда булево значение true, и дает undefined, когда оно false.

      Пример: 42 с true -> 42; 42 с false -> undefined

      Type Parameters

      • T

      Parameters

      • inputs: ValueGateDto<T>

        Значение и логическое значение, которое открывает затвор

      Returns T

      Значение или undefined, если затвор закрыт

      const maybe = bitbybit.logic.valueGate({ value: 42, boolean: true });
      
    • Выбирает первое из двух значений, которое определено, так что второе служит запасным.

      Пример: 42 и 10 -> 42; undefined и 10 -> 10

      Type Parameters

      • T
      • U

      Parameters

      • inputs: TwoValueGateDto<T, U>

        Предпочтительное значение и запасное

      Returns T | U

      Первое определенное значение или undefined, если отсутствуют оба

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