Skip to content

ScalarProduct

do- edited this page Sep 21, 2024 · 6 revisions

ScalarProduct — класс-наследник Check, вычисляющий контрольную сумму как скалярное произведение заданной последовательности цифр на фиксированный набор коэффициентов.

Применяется для ИНН и СНИЛС.

Конструктор

 const c = new ScalarProduct (coefficients, checkSumLength)

Смысл параметров такой же, как у одноимённых полей.

Поля

Имя Описание
coefficients Массив коэффициентов
valueLength Длина массива коэффициентов
checkSumLength Количество цифр в контрольной сумме
totalLength Общее количество цифр в коде (valueLength + checkSumLength)
modulus1 знаменатель для первого деления с остатком: modulus2 + 1 (то есть 11 для односимвольного контрольного числа)
modulus2 знаменатель для окончательного деления с остатком: для checkSumLength >=1 — 10 в степени checkSumLength (то есть 10 для односимвольного контрольного числа)

Методы

processDigit (pos, digit)

Прибавляет к вычисляемой сумме произведение digit на коэффициент с индексом pos.

Clone this wiki locally