18 declare(strict_types=1);
    33         private string $variable,
    34         private string $range_min_txt,
    35         private string $range_max_txt,
    37         private int $precision = 0,
    38         private int $intprecision = 1
    55             $DIC->ui()->mainTemplate()->setOnScreenMessage(
    57                 $lng->txt(
'err_divider_too_big')
    69         while ($calcval < $roundedRangeMIN || $calcval > $roundedRangeMAX) {
    71             $rnd = mt_rand((
int) $r1, (
int) $r2);
    96         if ($int_precision === null) {
    99         $min_abs = abs($min_range);
   100         $max_abs = abs($max_range);
   101         $bigger_abs = $max_abs > $min_abs ? $max_abs : $min_abs;
   102         if ($int_precision > $bigger_abs) {
   124         if (!is_object($this->
getUnit())) {
   133         $this->precision = $precision;
   138         return $this->precision;
   143         $this->variable = $variable;
   148         return $this->variable;
   154         $math->suppress_errors = 
true;
   155         $this->range_min = (float) $math->evaluate($range_min);
   166         $math->suppress_errors = 
true;
   167         $this->range_max = (float) $math->evaluate($range_max);
   187         $this->intprecision = $intprecision;
   192         return $this->intprecision;
   197         $this->range_max_txt = $range_max_txt;
   202         return $this->range_max_txt;
   207         $this->range_min_txt = $range_min_txt;
   212         return $this->range_min_txt;
 static _add($left_operand, $right_operand, int $scale=50)
 
static _div($left_operand, $right_operand, int $scale=50)
 
static _pow($left_operand, $right_operand, int $scale=50)
 
static _sub($left_operand, $right_operand, int $scale=50)
 
static _mul($left_operand, $right_operand, int $scale=50)