BitShift

BitShift - 11

版本

  • 名稱: BitShift (GitHub)

  • 網域: main

  • since_version: 11

  • function: False

  • 支援層級: SupportType.COMMON

  • 形狀推斷: True

此版本的運算子自版本 11 起可用。

摘要

位元位移運算子會執行元素級運算。對於每個輸入元素,如果屬性「direction」為「RIGHT」,此運算子會將其二進位表示法向右移動,以便有效減少輸入值。如果屬性「direction」為「LEFT」,則二進位表示法的位元會向左移動,導致其實際值增加。輸入 X 是要位移的張量,另一個輸入 Y 指定位移的量。例如,如果「direction」為「Right」,X 為 [1, 4],而 S 為 [1, 1],則對應的輸出 Z 將為 [0, 2]。如果「direction」為「LEFT」,X=[1, 2],而 S=[1, 2],則對應的輸出 Y 將為 [2, 8]。

由於此運算子支援 Numpy 樣式的廣播,X 和 Y 的形狀不一定相同。此運算子支援多向(即 Numpy 樣式)廣播;如需更多詳細資訊,請查看 ONNX 中的廣播

屬性

  • direction - STRING (必要)

    移動位元的方向。它可以是「RIGHT」(用於右移)或「LEFT」(用於左移)。

輸入

  • X (異質) - T

    第一個運算元,要位移的輸入。

  • Y (異質) - T

    第二個運算元,位移量。

輸出

  • Z (異質) - T

    輸出張量

類型約束

  • T 在 ( tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) )

    將輸入和輸出類型限制為整數張量。