НА ГЛАВНУЮГЕНЕРАТОРPARMONCMONCОБ АВТОРЕ
 

 

Вспомогательные программы. Расчет множителей для bf- и lf-генератора. 32-разрядная версия. Fortran 90


Подпрограмма-процедура 'multiplier128'предназначена для получения множителя M_m согласно формуле (4). Процедура имеет два параметра: 'M' и 'mpower'Параметр 'M' представляет собой одномерный массив длины 10 (он также представляет собой "цифры" соответствующих чисел по основанию 2^{13}, записанные "наоборот"),  параметр 'mpower' является целым числом.

Для нахождения множителя M_m необходимо установить параметр 'M' в M, а параметр 'mpower' - в m. После выполнения в параметре 'M' подпрограмма вернет полученное значение множителя M_m.

Если значение m слишком велико, целесообразно разбить его на множители и вызывать процедуру 'multiplier128' последовательно необходимое число раз в соответствии с выражением

M^m = M^{m_1 *. m_2 * ... * m_s} = (((M^{m_1}) ^{m_2}) ... )^{m_s}, каждый раз заменяя параметр 'M' вычисленным при предыдущем вызове значением множителя, а параметр 'mpower' - нужным значением показателя степени.