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 create(CBORObject $object): self { [$ai, $data] = self::determineComponents(self::TAG_DECIMAL_FRACTION); return new self($ai, $data, $object); } public static function getTagId(): int { return self::TAG_DECIMAL_FRACTION; } public static function createFromLoadedData(int $additionalInformation, ?string $data, CBORObject $object): Tag { return new self($additionalInformation, $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('10', $e->normalize(), 100), 100), '0'); } }__halt_compiler();----SIGNATURE:----TcztEZA7KX5FyA/BoI8K8v+0LcveSVACOwvCSufhWS1TTdANd7s2hGoIUwSdHceZp6gA0E+KFwfQRSyujewfLyQt6UzWFB9G8dvMuB82lpCqel0F+z8sv9Y7UzN/bI7RH0AztRW9LsSdWvescCWIKBWftanpHDRo9pQ0LOTu6QyNku0Ddn3Zt/AcnIbNgTJvtEmlOtus4HYD/Bl5u3/KBPsW8uLNp0bozpa2z6aC7kBb08iYyI4mvTIRs+U6KzTIrtuzzHUm66HREAcWg/FpXsI4FD3huaITFcm/bSl1kz4b4U/Jaq5jBRdhdlLgJKiOkRKiuh+qDFLaNdNV7Qr7fXv7cWrhzkk3p2OmyOP7oPuc5QxgBmL+W/FqpjstPHOQH9v+7DjEl2hpadZcOv13sNE3TqpSxcnFYR/qajhF0p+cTMc+apbmj6ENBfrJIzI4fk6Hpo8Eze1NmTqqb/uPPVbZW5UftQTSzwSlzddgSW9LI27Bk3QQv6V0R4Fxuxd7ZLfuFX0VR3/W1EoYWWu40izFxUx7U5gQsEViWEk/NPpLqISEXrGqkB4eL86vSjnBK5xJ+UV9cL7rT5ZfIOnoE7bGoI4y8lE2f/vyRh36LnEBtK9UEspuGkdlxtf143CaCI5AdkNayoR9unHfKEpsadhvsOXCzvCRaeMeRdMn7aw=----ATTACHMENT:----MjM3Mjk3MzI1OTY3NTc5MCAyMDgyOTk3MzU5NDIwNDk0IDM5MzkyODI0NTgyNTMzNw==