Ваша функция немного повсеместна, я очистил ее, чтобы работать с выводом, который вы хотите использовать с помощью объекта, а не выводить несколько частей кода кнопки. На мой взгляд, этим легче управлять, и он выглядит лучше, так как HTML-код и PHP-код максимально разделены:
function product_datasheet_below_summary() {
$link = get_field('datasheet');
if( $link ){
$link_url = $link['url'];
$link_title = $link['title'];
$link_target = $link['target'] ? $link['target'] : '_self';
} ob_start();?>
<?php if($link):?>
<a class="button" href="<?php echo $link_url;?>" target="<?php echo $link_target;?>"><?php echo $link_title;?></a>
<?php endif;
return ob_get_clean();
} add_action( 'ocean_after_single_product_meta', 'product_datasheet_below_summary', 5 );?>
Я полагаю, что "Арифметика Интервала" является более общим названием для того, что Вы ищете. повышение:: интервал был бы моим предпочтительным вариантом для библиотеки поддержки.
Взгляните на класс Java Передачи ошибок Thomas Flanagan. Подход, который это использует, является самым превосходным для обработки неуверенности без избыточной проблемы.
Я, вероятно, пошел бы об этом путем объявления класса под названием UncertainValue с методами и свойствами, такими как (psuedocode):
class UncertainValue
{
private double upperbound;
private double lowerbound;
private double nominalvalue;
private double certainty;
...
UncertainValue add(UncertainValue value);
UncertainValue multiply(UncertainValue factor);
}
Я понимаю, что это не отвечает на Ваш вопрос с точки зрения нахождения предварительно сделанной библиотеки, извините.
Это не библиотека, но Ваш вопрос напомнил мне о примере в "Опытном F#", который описывает вероятностные рабочие процессы:
вместо того, чтобы писать выражения для вычислений, скажем, целых чисел мы вместо этого пишем выражения, которые вычисляют дистрибутивы целых чисел. Это тематическое исследование основано на статье Ramsey и Pfeffer с 2002.
Можно прочитать выборку на книгах Google.
Если вы ищете модуль распространения ошибок (он отличается от интервальной арифметики , но ученые обычно используют распространение ошибок) , Я бы посоветовал вам взглянуть на мой модуль Python неопределенности
. Он прозрачно обрабатывает распространение ошибок / неопределенностей и, в отличие от многих реализаций, должным образом обрабатывает корреляции между переменными.