{@inheritDoc}
@see \common_persistence_AdvKvDriver::decr()
420770
public function decr($key)
    {
        $this->log(__FUNCTION__, $key);
        return $this->persistence->decr($key);
    }
68040
public function enable($ver = null)
    {
        if ($ver == null) {
            $ver = ($this->getVersion())
                ?$this->getVersion()
                :$this->defVersion;
        }

        if ($this->isEnabled() && $this->getVersion() == $ver) {
            return $this;
        }

        $ver = (string) $ver;
        $this->enabled = $ver;

        return $this;
    }
134096
public function decrement($key, $offset = 1)
    {
        $key = $this->_key($key);

        return apcu_dec($key, $offset);
    }
757096
public function decrement($key, $value = 1)
    {
        return $this->apc->decrement($this->prefix.$key, $value);
    }
383204
public function dec(string $key, int $amount=1): int
  {
    $success = false;
    $value = \apcu_dec( $key, $amount, $success);

    return ( $success ? $value : false );
  }
299075
private function encodeHex($dec)
    {
        $hexchars = '0123456789ABCDEF';
        $return   = '';
        while (bccomp($dec, 0) == 1) {
            $rem    = (integer)bcmod($dec, '16');
            $dec    = (string)bcdiv($dec, '16', 0);
            $return = $return . $hexchars[$rem];
        }

        return strrev($return);
    }
24903
public static function fromDecl($decl) {
        if ($decl instanceof Type) {
            return $decl;
        } elseif (!is_string($decl)) {
            throw new \LogicException("Should never happen");
        } elseif (empty($decl)) {
            throw new \RuntimeException("Empty declaration found");
        }
        if ($decl[0] === '\\') {
            $decl = substr($decl, 1);
        } elseif ($decl[0] === '?') {
            $decl = substr($decl, 1);
            $type = Type::fromDecl($decl);
            return (new Type(Type::TYPE_UNION, [
                $type,
                new Type(Type::TYPE_NULL)
            ]))->simplify();
        }
        switch (strtolower($decl)) {
            case 'boolean':
            case 'bool':
            case 'false':
            case 'true':
                return new Type(Type::TYPE_BOOLEAN);
            case 'integer':
            case 'int':
                return new Type(Type::TYPE_LONG);
            case 'double':
            case 'real':
            case 'float':
                return new Type(Type::TYPE_DOUBLE);
            case 'string':
                return new Type(Type::TYPE_STRING);
            case 'array':
                return new Type(Type::TYPE_ARRAY);
            case 'callable':
                return new Type(Type::TYPE_CALLABLE);
            case 'null':
            case 'void':
                return new Type(Type::TYPE_NULL);
            case 'numeric':
                return Type::fromDecl('int|float');
        }
        // TODO: parse | and & and ()
        if (strpos($decl, '|') !== false || strpos($decl, '&') !== false || strpos($decl, '(') !== false) {
            return self::parseCompexDecl($decl)->simplify();
        }
        if (substr($decl, -2) === '[]') {
            $type = Type::fromDecl(substr($decl, 0, -2));
            return new Type(Type::TYPE_ARRAY, [$type]);
        }
        $regex = '(^([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\\\\)*[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$)';
        if (!preg_match($regex, $decl)) {
            throw new \RuntimeException("Unknown type declaration found: $decl");
        }
        return new Type(Type::TYPE_OBJECT, [], $decl);
    }
576773
public function decrement($key, $value)
    {
        return $this->apcu ? apcu_dec($key, $value) : apc_dec($key, $value);
    }
1365089
public static void decrComputeSpecs(ComputeSpecs target, ComputeSpecs decr) {
    target.numCpus -= decr.numCpus;
    target.memoryMB -= decr.memoryMB;
    target.diskGB -= decr.diskGB;
  }
1136599
public static function formatIniParamSize(string $res): int
    {
        $res = trim($res);
        $measure = strtolower($res[strlen($res) - 1]);
        $res = (int)$res;

        // No breaks in switch, because we need multiple calculations
        switch ($measure) {
            /** @noinspection PhpMissingBreakStatementInspection */
            case 'g':
                $res *= 1024;
            /** @noinspection PhpMissingBreakStatementInspection */
            case 'm':
                $res *= 1024;
            case 'k':
                $res *= 1024;
        }

        return $res;
    }
295334
public function decrement($key, $value = 1)
    {
        return $this->connection()->decrBy($this->prefix . $key, $value);
    }
422989
public function dec($id, $value = 1) {
		$id = $this->prepareId($id);
		
		return $this->getBackend()->dec($id, $value);
	}
1157801
public function setFormat($decimals = 0, $dec_point = '.', $thousands_sep = ' ')
	{
		$this->number_format = [$decimals, $dec_point, $thousands_sep];

		return $this;
	}
197660
public function dec($property, $value = 1) {
		if (isset($this->_data[$property])) {
			$this->_data[$property] -= $value;
		} else {
			$this->_data[$property] =- $value;
		}
		
		$this->_changed[$property] = true;
		
		return $this->_data[$property];
	}
722205
public function decr($key)
    {
        if ($this->isMappedKey($key)) {
            return false;
        }
        return $this->getDriver()->decr($key);
    }
1078746
public function format($decimals = 2, $decPoint = '.', $thousandSep = ',')
    {
        return number_format($this->value, $decimals, $decPoint, $thousandSep);
    }
312743
public function translateChar($dec)
    {
        if (isset($this->mapping[$dec])) {
            $dec = $this->mapping[$dec];
        }

        return $dec;
    }