Looking for java Keywords? Try Ask4Keywords

Java Language Использование потоков для реализации математических функций


пример

Stream с, и особенно IntStream с, является элегантным способом реализации суммирования условий (a). Диапазоны Stream могут использоваться как границы суммирования.

Например, приближение Мадхавы к Pi дается формулой (Источник: wikipedia ): Мадхава

Это можно вычислить с произвольной точностью. Например, на 101 срок:

double pi = Math.sqrt(12) * 
            IntStream.rangeClosed(0, 100)
                     .mapToDouble(k -> Math.pow(-3, -1 * k) / (2 * k + 1))
                     .sum();

Примечание: с double точностью, выбирая верхнюю границу 29, достаточно, чтобы получить результат, который неотличим от Math.Pi