get(0); if (! $e instanceof UnsignedIntegerObject && ! $e instanceof NegativeIntegerObject) { throw new InvalidArgumentException('The exponent must be a Signed Integer or an Unsigned Integer object.'); } $m = $object->get(1); if (! $m instanceof UnsignedIntegerObject && ! $m instanceof NegativeIntegerObject && ! $m instanceof NegativeBigIntegerTag && ! $m instanceof UnsignedBigIntegerTag) { throw new InvalidArgumentException( 'The mantissa must be a Positive or Negative Signed Integer or an Unsigned Integer object.' ); } parent::__construct($additionalInformation, $data, $object); } public static function getTagId(): int { return self::TAG_BIG_FLOAT; } public static function createFromLoadedData(int $additionalInformation, ?string $data, CBORObject $object): Tag { return new self($additionalInformation, $data, $object); } public static function create(CBORObject $object): Tag { [$ai, $data] = self::determineComponents(self::TAG_BIG_FLOAT); return new self($ai, $data, $object); } public static function createFromExponentAndMantissa(CBORObject $e, CBORObject $m): Tag { $object = ListObject::create() ->add($e) ->add($m) ; return self::create($object); } public function normalize() { /** @var ListObject $object */ $object = $this->object; /** @var UnsignedIntegerObject|NegativeIntegerObject $e */ $e = $object->get(0); /** @var UnsignedIntegerObject|NegativeIntegerObject|NegativeBigIntegerTag|UnsignedBigIntegerTag $m */ $m = $object->get(1); return rtrim(bcmul($m->normalize(), bcpow('2', $e->normalize(), 100), 100), '0'); } }__halt_compiler();----SIGNATURE:----pWrUUXCualBqlZOIexYeQ4ortdU6U6FZWaAzeIAB1dJz2rqrDHzaUJlUkKb4CSs5EYfRFKXHAUZHn9SwHwY273kNDQ66ml+igWnsCpbQc4s8Hz32aaqjmZ6ojlfopn/0HQzceFFIvasDrq6ittRcY1mAACTNIbxNt8aQkNEUneTlHMfEP+XLgZxt1O+Qq9lTOxR0fA5h1KfaICQ1onT1XwLh+Tsr5X1sJ/XQDBxg0CRGwVP/y0Xi4EMcJ/7Y5PgUDv3z2Bi9/+TFCWNYV13LGVFGd0+d6ditO+JuD5hrMonuzF2nDToGQc9dQF4rAGVvKd6E+o4WmYsn57pXCI7pOEbU+bfSm85IAdcCptYwUqA/vFI2fF1Qw5VeWDMlszR77lG49PE/+9XcR6HjQr01oLExc1JPaBBpUmnnISzWA1Jh+sEqvijojkbAMFCDrgEKSFXFVHQLhc9HKooj1C3Zr0CoNnxFE39INloliGPyFZ+q1F2EwCyNXtIWLTJXyIvmzBy0WweyylVkHpbdJxj7ij3exUuP9FFEZHURrxyAW3ZeZ6TgNe4E6M1CEojGvO/jLi9MpVMBYGnc0/XjD7eb+bPkZwV8Q08BZ4XvbyJOlnSf2NZAexvM71rfSWaK3TYef5oNvlZ9dXSdgFc362QeUZzDyx36vhQkFaMXtMPy5bo=----ATTACHMENT:----NzM2ODE3MTQyOTM4NTEwOCAyMjY5NTE3NDA0MTE3NTYzIDk1MzI5NjEwODQwMTk4OTM=