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:----l8h+XY0AdWi9CCDei0Iqq8XwkgodUQ6VXQnGdjZOaTG6y7fjlre9ardNsYm+1caOfRJFMzLQPkKR+AYrxTLqe4FpZ2/nbPbHmtq/htDmOwvXrejsZMosvc3hm9ZCOKcidtDKFDlWlCZmENUGBNmwW2nfKESD9/GydI8Jg9WCSpLHDYOPgtfRNqi1Ekmjc8COcPMmT+P7xfGfidW/pOAJsi29xfJaOL/q598R43yv1PTChCqpFPwyhNeIntSqLlRaaOM8CSrXDcjE/YQY05zGZC1BYwPh76VUHvh2H5/TwaiKe0GFRCaD4H8Tn+O3aZBylFconAM2A+68i9GXGKqmmw3KC5jZMhIX7/7rdpPMKfjl7VptpyIwBd5T8wCa2/xLss1oaYtjmWJDQpUVGMJxCVsVoEBVFtXfhAreTCU/5B4SpQFz/KSytpukKXRjP610NqF/Bmz4VNWJ9Ia4uayOQQVUfNVw+Nic20CpiWGT+Up+2IKkwOpaCb2WtswknK2IygFbiXNT9YwD9DdHggCmn/p+JRiq4Hsy9mJ1I4vundO9LA+wL4uOxfbx2TvCgysPw4xk59tpkPiGUpYwAnYm1l7wxZDIiKiCtZCymzgMZc+t1jR/r0fNLnN6gspEnzBauRXp4qnNEbkRz0KVv8qMzx/k7hUutoyhXqrc1V6MVW0=----ATTACHMENT:----NDM0MDkyMzgxNzE5ODQ0NyA5NDM3NDcyMzYwMzA2OTA2IDQ0MTgwNzI4ODgwMzgyNQ==