@@ 3652-3689 (lines=38) @@ | ||
3649 | * |
|
3650 | * @return float |
|
3651 | */ |
|
3652 | public static function VARA(...$args) |
|
3653 | { |
|
3654 | $returnValue = Functions::DIV0(); |
|
3655 | ||
3656 | $summerA = $summerB = 0; |
|
3657 | ||
3658 | // Loop through arguments |
|
3659 | $aArgs = Functions::flattenArrayIndexed($args); |
|
3660 | $aCount = 0; |
|
3661 | foreach ($aArgs as $k => $arg) { |
|
3662 | if ((is_string($arg)) && |
|
3663 | (Functions::isValue($k))) { |
|
3664 | return Functions::VALUE(); |
|
3665 | } elseif ((is_string($arg)) && |
|
3666 | (!Functions::isMatrixValue($k))) { |
|
3667 | } else { |
|
3668 | // Is it a numeric value? |
|
3669 | if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { |
|
3670 | if (is_bool($arg)) { |
|
3671 | $arg = (int) $arg; |
|
3672 | } elseif (is_string($arg)) { |
|
3673 | $arg = 0; |
|
3674 | } |
|
3675 | $summerA += ($arg * $arg); |
|
3676 | $summerB += $arg; |
|
3677 | ++$aCount; |
|
3678 | } |
|
3679 | } |
|
3680 | } |
|
3681 | ||
3682 | if ($aCount > 1) { |
|
3683 | $summerA *= $aCount; |
|
3684 | $summerB *= $summerB; |
|
3685 | $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); |
|
3686 | } |
|
3687 | ||
3688 | return $returnValue; |
|
3689 | } |
|
3690 | ||
3691 | /** |
|
3692 | * VARP. |
|
@@ 3750-3787 (lines=38) @@ | ||
3747 | * |
|
3748 | * @return float |
|
3749 | */ |
|
3750 | public static function VARPA(...$args) |
|
3751 | { |
|
3752 | $returnValue = Functions::DIV0(); |
|
3753 | ||
3754 | $summerA = $summerB = 0; |
|
3755 | ||
3756 | // Loop through arguments |
|
3757 | $aArgs = Functions::flattenArrayIndexed($args); |
|
3758 | $aCount = 0; |
|
3759 | foreach ($aArgs as $k => $arg) { |
|
3760 | if ((is_string($arg)) && |
|
3761 | (Functions::isValue($k))) { |
|
3762 | return Functions::VALUE(); |
|
3763 | } elseif ((is_string($arg)) && |
|
3764 | (!Functions::isMatrixValue($k))) { |
|
3765 | } else { |
|
3766 | // Is it a numeric value? |
|
3767 | if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { |
|
3768 | if (is_bool($arg)) { |
|
3769 | $arg = (int) $arg; |
|
3770 | } elseif (is_string($arg)) { |
|
3771 | $arg = 0; |
|
3772 | } |
|
3773 | $summerA += ($arg * $arg); |
|
3774 | $summerB += $arg; |
|
3775 | ++$aCount; |
|
3776 | } |
|
3777 | } |
|
3778 | } |
|
3779 | ||
3780 | if ($aCount > 0) { |
|
3781 | $summerA *= $aCount; |
|
3782 | $summerB *= $summerB; |
|
3783 | $returnValue = ($summerA - $summerB) / ($aCount * $aCount); |
|
3784 | } |
|
3785 | ||
3786 | return $returnValue; |
|
3787 | } |
|
3788 | ||
3789 | /** |
|
3790 | * WEIBULL. |