Алгоритм возвращает значение true
false
. Если одна последовательность короче второй и все ее элементы совпадают с соответствующими элементами более длинной последовательности, то более короткая последовательность лексикографически меньше. Если размер последовательностей совпадает и совпадают соответствующие элементы, то ни одна из них лексикографически не меньше другой.А.2.10. Числовые алгоритмы
Числовые алгоритмы определены в заголовке numeric
accumulate(beg, end, init)
accumulate(beg, end, init, binaryOp)
Возвращает сумму всех значений в исходном диапазоне. Суммирование начинается с исходного значения, заданного параметром init
init
. Первая версия использует оператор +
типа элемента, а вторая — указанный бинарный оператор.inner_product(beg1, end1, beg2, init)
inner_product(beg1, end1, beg2, init, binOp1, binOp2)
Возвращает сумму элементов, полученных как произведение двух последовательностей. Обе последовательности обрабатываются совместно и элементы из каждой последовательности умножаются. Результат умножения суммируется. Исходное значение суммы определяет init
init
определяет тип возвращаемого значения.Первая версия использует операторы умножения (*
+
) элементов. Вторая версия применяет заданные бинарные операторы, используя первый оператор вместо суммы и второй вместо умножения.partial_sum(beg, end, dest)
partial_sum(beg, end, dest, binaryOp)
Пишет в dest
+
типа элемента, а вторая — заданный бинарный оператор. Возвращает итератор dest
, увеличенный так, чтобы указывать на следующий элемент после последнего записанного.adjacent_difference(beg, end, dest)
adjacent_difference(beg, end, dest, binaryOp)
Пишет в dest
-
тип элемента, а вторая применяет заданный бинарный оператор.iota(beg, end, val)
Присваивает val
val
. Присваивает приращенное значение следующему элементу и снова осуществляет приращение val
, а затем присваивает приращенное значение следующему элементу последовательности. Продолжает приращение val
и присваивает новое значение последующему элементу в исходной последовательности.A.3. Случайные числа
Библиотека определяет набор классов процессоров случайных чисел и адаптеров, использующих различные математические подходы для генерации псевдослучайных чисел. Библиотека определяет также набор шаблонов распределений, обеспечивающих распределение чисел согласно различным вероятностям. Имена классов процессоров и распределений соответствуют их математическим свойствам.
Подробности генерации чисел этими классами не рассматриваются в данном издании. Здесь перечислены типы процессоров и распределений, но чтобы лучше узнать, как их использовать, следует обратиться к другим ресурсам.
А.3.1. Распределение случайных чисел
За исключением распределения bernoulli_distribution
Классы распределений отличаются от других использованных ранее шаблонов класса, поскольку типы распределения налагают ограничения на пригодные для использования типы. Некоторые шаблоны распределения применяются для генерации только чисел с плавающей запятой; другие применяются для генерации только целых чисел.
В описаниях ниже для указания типа генерируемых шаблоном распределения чисел, например с плавающей запятой, используется формат
RealT
можно использовать типы float
, double
или long double
. Точно так же вместо IntT
можно использовать любой из встроенных целочисленных типов (short
, int
, long
, long long
, unsigned short
, unsigned int
, unsigned long
или unsigned long long
), но не тип bool
или char
.