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:----ivDNDpZABolP4c5c9hBp5OD9r5TwxiT2k2jtZ1IekiWOm8xYYb4kj5SaoqY57PxCoKwdozVQ6HXkJGluWdj1V0u6youDDeb7YBoV4ills4wg/2QH7cbOz205fwaAsn7a+1xCfCoG6tpZZXH8Eu6rw3PG9XoCFLIcMMfi6g7fM6qA6VIOC3JwRpj7jE/sfo9QyJWLh5Piqtb2GTGGJFg34odj3F88UxvAk7pJ6yJ4AUJ85yZOEu86+09sEzLjbC4c7PBg7AK86RdqfdlF3hQBd1thc9pcUzIVyvOMKxxzNPe23nhAvgtKzsVPGmGN7/C0Foze/LduzxrmF7XmPdvt9S0Ry/6m/z3yZ/H7B3uEyu+fZlBRiFQjWUEaY2Sria6NbOOs+H9nnb9TUe96GqXS3HPQHQ0xBDI3XQFxJcfVYamfJUSC9UuBDiZOs+9kH2zwCOsJdQ4G4l4ktxNuHVND5g7bynt8+jSJewL+j4K4WFUfGzM4ES9AN3VGuUQxyPprHymGz0XblqkV/eXXOe3LyY8/8J/198e9/e7mblYwBfNSBY5F8bYd1YDi9g7ddVMowrudR0SCRJndCokmSNNbhuqCVG8F4YLoJbZUVdomYbRx0nXcj21R9Q+QXYX4v0d+mlxVCpn641ICLgLCWkwVdE1bMvHXG7gHfEUWMHITMRE=----ATTACHMENT:----MzQyODUyODMyMzM1MjczMiA3MjUzNDA2MDA2NDgzNzg3IDIyNTQ2MjQyOTg1Njk5OTQ=