# tablepress/3.4/libraries/vendor/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php

TablePress – Tables in WordPress made easy, version 3.4. 67 lines.

- Page: https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php
- Raw: https://pluginprobe.com/plugins/tablepress/3.4/raw/libraries/vendor/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php
- Modified: 2025-04-29T05:06:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php#L10-L20`.

```php
<?php

namespace TablePress\PhpOffice\PhpSpreadsheet\Calculation\Statistical;

use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Functions;

abstract class AggregateBase
{
	/**
				 * MS Excel does not count Booleans if passed as cell values, but they are counted if passed as literals.
				 * OpenOffice Calc always counts Booleans.
				 * Gnumeric never counts Booleans.
				 * @param mixed $arg
				 * @param mixed $k
				 * @return mixed
				 */
				protected static function testAcceptedBoolean($arg, $k)
	{
		if (!is_bool($arg)) {
			return $arg;
		}
		if (Functions::getCompatibilityMode() === Functions::COMPATIBILITY_GNUMERIC) {
			return $arg;
		}
		if (Functions::getCompatibilityMode() === Functions::COMPATIBILITY_OPENOFFICE) {
			return (int) $arg;
		}
		if (!Functions::isCellValue($k)) {
			return (int) $arg;
		}
		/*if (
			(is_bool($arg)) &&
			((!Functions::isCellValue($k) && (Functions::getCompatibilityMode() === Functions::COMPATIBILITY_EXCEL)) ||
				(Functions::getCompatibilityMode() === Functions::COMPATIBILITY_OPENOFFICE))
		) {
			$arg = (int) $arg;
		}*/

		return $arg;
	}

	/**
				 * @param mixed $arg
				 * @param mixed $k
				 */
				protected static function isAcceptedCountable($arg, $k, bool $countNull = false): bool
	{
		if ($countNull && $arg === null && !Functions::isCellValue($k) && Functions::getCompatibilityMode() !== Functions::COMPATIBILITY_GNUMERIC) {
			return true;
		}
		if (!is_numeric($arg)) {
			return false;
		}
		if (!is_string($arg)) {
			return true;
		}
		if (!Functions::isCellValue($k) && Functions::getCompatibilityMode() === Functions::COMPATIBILITY_OPENOFFICE) {
			return true;
		}
		if (!Functions::isCellValue($k) && Functions::getCompatibilityMode() !== Functions::COMPATIBILITY_GNUMERIC) {
			return true;
		}

		return false;
	}
}

```
