.. _op_ai_onnx_BitwiseOr: BitwiseOr ========= - **Domain**: ``ai.onnx`` - **Since version**: 18 Returns the tensor resulting from performing the bitwise ``BitwiseOr`` operation elementwise on the input tensors ``A`` and ``B`` (with Numpy-style broadcasting support). **Inputs** - **A** (*T*): First input operand for the bitwise operator. - **B** (*T*): Second input operand for the bitwise operator. **Outputs** - **C** (*T*): Result tensor. **Type Constraints** - **T**: Constrain input to integer tensors. Allowed types: tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8). Examples -------- **test_bitwise_or_i16_4d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4, 5, 6), dtype=int16 [[[[ 0, -1, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, -1], [ 0, 0, -1, 1, 0, 0], [ 0, 2, 0, 0, 0, 0], [ 0, 0, 0, 0, 1, 1]], [[ 0, -1, 0, 0, 0, 0], [ 0, 0, 0, 0, 1, -1], [ 0, 0, 0, 0, 0, 0], [-1, 0, 0, 0, 0, -1], [ 0, 0, 0, 1, 1, 0]], [[ 0, 0, 0, 0, 0, 0], [ 0, 1, -1, 0, 0, 0], [ 2, -1, -1, -1, 0, 1], [ 0, 0, -1, 1, 0, 0], [ 0, 2, 0, 1, 0, 0]], [[ 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 1, 0, 0], [ 1, 0, 1, 0, 0, -1], [ 0, 0, 0, 0, 1, 0], [ 1, 1, -1, 0, 1, 0]]], [[[ 0, -1, 0, 1, -1, -1], [-1, 2, 0, 0, 0, 0], [ 0, 0, 0, 0, 1, 0], [ 0, 0, 0, 0, 0, 0], [ 0, 1, 0, 0, 0, 0]], [[ 1, 0, 0, 0, 0, -1], [-1, 0, 0, -1, 0, 0], [ 0, 0, 1, 0, 0, 0], [ 0, 2, 0, 2, 0, -1], [ 0, 0, 0, 1, 0, -1]], [[ 0, -1, 0, -1, 0, 0], [ 0, 0, 1, -1, 0, 1], [ 0, 0, -1, 0, 0, 1], [ 0, 0, 0, 0, 0, 0], [ 0, 0, 0, -1, 0, 0]], [[ 0, 2, 0, 2, 0, 0], [ 1, 0, -1, 1, 0, 0], [ 0, 0, 0, -1, 0, 0], [ 0, 0, -1, 0, 0, 0], [ 0, 0, 0, 0, 0, 1]]], [[[ 0, -1, -2, 0, 0, 0], [ 0, 0, -2, 0, 0, 0], [ 0, 2, 0, -1, -1, 0], [ 0, 0, 0, 1, 0, 0], [ 0, 0, 0, 0, 0, 1]], [[ 0, 0, 0, -1, 0, 1], [ 0, 0, 0, 0, 1, 0], [ 0, 0, 0, 0, 2, 0], [ 0, 0, 0, 0, 1, 0], [ 2, 0, 0, 0, 0, 0]], [[ 0, 0, 0, 0, 0, -1], [ 1, 1, -1, 0, 0, -1], [ 0, 0, 0, 0, 1, 0], [ 1, 0, 0, -1, 0, 0], [ 0, -1, 0, 0, 0, 0]], [[ 0, -1, 0, 0, 0, 0], [ 1, 0, -1, 1, 0, 0], [ 0, 0, 0, 1, 1, 0], [ 0, 0, 0, 0, 0, 0], [ 0, -1, 0, -2, 0, 0]]]] y: shape=(3, 4, 5, 6), dtype=int16 [[[[ 0, 0, 1, 1, 0, -1], [ 0, 2, 1, 0, 0, 0], [ 0, 1, 1, 0, 0, 0], [ 0, 0, 0, 0, -1, -1], [ 0, 0, 0, 0, -1, 2]], [[ 1, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, -1, 0], [ 0, 0, -1, 0, -1, 0], [ 0, 1, 1, 0, 0, 0], [ 0, 0, 0, 0, 1, 0]], [[ 0, -1, 0, 0, 0, 0], [ 0, 0, 0, 0, 1, 0], [ 0, 0, 0, -1, 0, 0], [ 0, 0, 0, 1, 0, 1], [ 0, 0, 0, 0, 0, -2]], [[ 0, 0, 0, 0, -1, 0], [ 0, 1, 0, 0, 1, 0], [ 0, 0, 0, 0, 1, 1], [ 1, 0, 0, 0, 0, -1], [ 0, 0, 1, 1, 0, 0]]], [[[ 0, 0, 0, 0, 0, -1], [ 0, -1, -1, 0, 1, 0], [ 0, 0, 0, 2, 0, 2], [ 0, 0, 0, 0, -1, 0], [ 0, -1, 0, 0, -1, 0]], [[ 0, 1, -1, -1, 0, 0], [-1, 0, -1, 0, 1, 0], [-2, 0, 0, 0, 1, 0], [ 0, 0, 0, 0, 0, 0], [ 0, 0, -2, 0, -1, 0]], [[ 0, 0, 0, 0, 0, 0], [ 0, -1, 0, -1, 1, -1], [ 1, 2, 0, 0, 0, -1], [ 0, 0, -1, 0, 2, 0], [ 0, 0, 1, 0, 0, 0]], [[ 1, -1, 0, 0, -1, 0], [ 0, 1, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, -1], [ 0, -1, 0, 2, 2, 0], [ 1, 1, 1, 0, -1, 0]]], [[[-1, 0, -1, 0, 0, -1], [-1, -2, -1, 0, -1, 0], [ 0, 0, -1, 0, 0, 0], [ 0, -1, 0, 0, 0, 1], [ 1, 0, 0, 0, 1, 0]], [[-1, 0, 0, 0, 0, -2], [ 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0], [-1, -1, 0, 0, 0, -1], [ 0, 0, 1, 0, 0, 0]], [[ 0, 0, 0, -1, 0, -2], [ 1, 1, 0, 0, 0, 0], [ 1, 0, 0, 0, 0, 1], [-2, 0, 0, 0, 0, 0], [ 0, -1, 0, 1, -1, 0]], [[ 0, 1, 1, 0, 0, 0], [ 0, 0, -2, 1, -1, 0], [ 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0], [ 2, -1, 0, 0, 0, 0]]]] Outputs: z: shape=(3, 4, 5, 6), dtype=int16 [[[[ 0, -1, 1, 1, 0, -1], [ 0, 2, 1, 0, 0, -1], [ 0, 1, -1, 1, 0, 0], [ 0, 2, 0, 0, -1, -1], [ 0, 0, 0, 0, -1, 3]], [[ 1, -1, 0, 0, 0, 0], [ 0, 0, 0, 0, -1, -1], [ 0, 0, -1, 0, -1, 0], [-1, 1, 1, 0, 0, -1], [ 0, 0, 0, 1, 1, 0]], [[ 0, -1, 0, 0, 0, 0], [ 0, 1, -1, 0, 1, 0], [ 2, -1, -1, -1, 0, 1], [ 0, 0, -1, 1, 0, 1], [ 0, 2, 0, 1, 0, -2]], [[ 0, 0, 0, 0, -1, 0], [ 0, 1, 0, 1, 1, 0], [ 1, 0, 1, 0, 1, -1], [ 1, 0, 0, 0, 1, -1], [ 1, 1, -1, 1, 1, 0]]], [[[ 0, -1, 0, 1, -1, -1], [-1, -1, -1, 0, 1, 0], [ 0, 0, 0, 2, 1, 2], [ 0, 0, 0, 0, -1, 0], [ 0, -1, 0, 0, -1, 0]], [[ 1, 1, -1, -1, 0, -1], [-1, 0, -1, -1, 1, 0], [-2, 0, 1, 0, 1, 0], [ 0, 2, 0, 2, 0, -1], [ 0, 0, -2, 1, -1, -1]], [[ 0, -1, 0, -1, 0, 0], [ 0, -1, 1, -1, 1, -1], [ 1, 2, -1, 0, 0, -1], [ 0, 0, -1, 0, 2, 0], [ 0, 0, 1, -1, 0, 0]], [[ 1, -1, 0, 2, -1, 0], [ 1, 1, -1, 1, 0, 0], [ 0, 0, 0, -1, 0, -1], [ 0, -1, -1, 2, 2, 0], [ 1, 1, 1, 0, -1, 1]]], [[[-1, -1, -1, 0, 0, -1], [-1, -2, -1, 0, -1, 0], [ 0, 2, -1, -1, -1, 0], [ 0, -1, 0, 1, 0, 1], [ 1, 0, 0, 0, 1, 1]], [[-1, 0, 0, -1, 0, -1], [ 0, 0, 0, 0, 1, 0], [ 0, 0, 0, 0, 2, 0], [-1, -1, 0, 0, 1, -1], [ 2, 0, 1, 0, 0, 0]], [[ 0, 0, 0, -1, 0, -1], [ 1, 1, -1, 0, 0, -1], [ 1, 0, 0, 0, 1, 1], [-1, 0, 0, -1, 0, 0], [ 0, -1, 0, 1, -1, 0]], [[ 0, -1, 1, 0, 0, 0], [ 1, 0, -1, 1, -1, 0], [ 0, 0, 0, 1, 1, 0], [ 0, 0, 0, 0, 0, 0], [ 2, -1, 0, -2, 0, 0]]]] **test_bitwise_or_i32_2d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4), dtype=int32 [[ 0, 1, 0, -1], [ 0, 0, 1, 0], [-1, 0, -1, 1]] y: shape=(3, 4), dtype=int32 [[ 0, 0, 0, 3], [ 0, 1, 0, -1], [ 0, 0, 0, 0]] Outputs: z: shape=(3, 4), dtype=int32 [[ 0, 1, 0, -1], [ 0, 1, 1, -1], [-1, 0, -1, 1]] **test_bitwise_or_ui64_bcast_3v1d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4, 5), dtype=uint64 [[[35862, 38690, 22776, 19804, 56026], [40232, 29640, 21983, 7228, 28252], [34490, 46290, 3977, 15623, 858], [13956, 44990, 30743, 65114, 13394]], [[60803, 65127, 46221, 6649, 10981], [ 207, 43180, 26961, 21135, 44305], [25828, 6416, 50646, 17194, 33625], [37450, 18822, 41285, 36017, 60312]], [[48084, 62934, 46208, 55723, 52162], [61899, 12781, 5049, 40946, 62267], [44381, 58881, 38238, 33017, 30953], [15034, 41615, 56818, 52633, 59091]]] y: shape=(5,), dtype=uint64 [16753, 17885, 46285, 45249, 4339] Outputs: z: shape=(3, 4, 5), dtype=uint64 [[[52599, 55295, 64765, 64989, 56059], [56697, 30685, 62943, 48381, 32511], [51195, 62943, 49101, 48583, 5115], [30709, 61439, 64735, 65243, 13555]], [[60915, 65535, 46285, 47609, 15095], [16895, 60925, 64989, 62159, 48627], [26101, 24029, 62943, 62443, 37883], [54139, 19935, 46541, 48369, 64507]], [[64501, 62943, 46285, 63979, 56307], [61947, 30205, 47101, 49139, 62459], [60797, 59357, 46559, 45305, 30971], [31739, 59359, 65023, 64985, 63219]]] **test_bitwise_or_ui8_bcast_4v3d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4, 5, 6), dtype=uint8 [[[[110, 244, 184, 128, 128, 67], [105, 233, 150, 255, 30, 82], [174, 6, 74, 137, 22, 47], [ 63, 121, 127, 234, 204, 143], [ 50, 224, 252, 30, 75, 111]], [[ 84, 193, 29, 252, 132, 105], [ 41, 189, 73, 87, 230, 97], [186, 244, 138, 236, 93, 67], [ 7, 245, 46, 16, 245, 236], [136, 82, 69, 147, 132, 28]], [[187, 186, 198, 223, 97, 220], [ 23, 240, 201, 101, 163, 51], [ 19, 168, 197, 193, 156, 30], [248, 185, 191, 239, 155, 145], [ 73, 27, 182, 127, 196, 62]], [[210, 5, 83, 135, 122, 152], [176, 239, 73, 127, 147, 39], [ 67, 11, 45, 143, 123, 63], [191, 183, 182, 196, 19, 190], [ 22, 53, 74, 171, 110, 127]]], [[[ 6, 139, 250, 155, 34, 211], [196, 159, 198, 246, 136, 204], [ 80, 136, 104, 69, 41, 219], [154, 171, 53, 172, 72, 100], [109, 52, 162, 67, 152, 229]], [[230, 44, 215, 231, 122, 81], [182, 210, 97, 80, 231, 29], [ 59, 35, 201, 14, 108, 81], [166, 228, 142, 157, 61, 10], [102, 225, 237, 87, 157, 72]], [[193, 40, 192, 115, 2, 237], [ 96, 110, 108, 156, 181, 10], [118, 58, 251, 2, 138, 224], [194, 232, 15, 214, 164, 185], [ 61, 47, 254, 14, 208, 79]], [[251, 48, 50, 13, 36, 167], [123, 168, 217, 146, 41, 181], [199, 24, 179, 99, 16, 118], [201, 90, 14, 102, 204, 142], [ 35, 100, 67, 47, 135, 224]]], [[[221, 107, 252, 168, 62, 254], [245, 248, 79, 38, 242, 91], [226, 109, 115, 136, 97, 47], [ 17, 165, 172, 132, 140, 189], [119, 161, 43, 235, 38, 42]], [[220, 214, 151, 145, 128, 32], [135, 9, 160, 87, 137, 186], [122, 100, 43, 16, 94, 139], [222, 3, 118, 78, 170, 89], [239, 146, 68, 215, 65, 247]], [[220, 236, 18, 157, 184, 174], [129, 99, 188, 214, 79, 12], [ 24, 238, 79, 40, 91, 88], [236, 254, 125, 154, 111, 136], [185, 3, 153, 0, 156, 42]], [[124, 70, 54, 230, 12, 159], [ 16, 90, 74, 151, 216, 36], [155, 74, 179, 29, 80, 211], [ 67, 43, 244, 106, 26, 165], [ 21, 211, 222, 16, 221, 146]]]] y: shape=(4, 5, 6), dtype=uint8 [[[ 99, 118, 121, 162, 45, 207], [ 85, 225, 23, 142, 137, 122], [ 88, 165, 195, 250, 64, 59], [132, 105, 247, 225, 94, 119], [ 68, 50, 171, 96, 75, 176]], [[ 24, 65, 115, 75, 59, 185], [ 75, 38, 192, 214, 216, 125], [171, 103, 222, 7, 107, 249], [ 34, 1, 140, 23, 210, 87], [143, 197, 5, 129, 93, 161]], [[193, 59, 152, 158, 211, 88], [ 20, 208, 27, 249, 26, 51], [244, 92, 170, 235, 132, 58], [ 43, 54, 243, 211, 96, 229], [ 34, 93, 24, 128, 199, 1]], [[244, 233, 80, 12, 33, 185], [167, 149, 38, 182, 4, 57], [ 97, 170, 216, 173, 92, 99], [106, 205, 76, 166, 130, 166], [138, 250, 22, 197, 217, 22]]] Outputs: z: shape=(3, 4, 5, 6), dtype=uint8 [[[[111, 246, 249, 162, 173, 207], [125, 233, 151, 255, 159, 122], [254, 167, 203, 251, 86, 63], [191, 121, 255, 235, 222, 255], [118, 242, 255, 126, 75, 255]], [[ 92, 193, 127, 255, 191, 249], [107, 191, 201, 215, 254, 125], [187, 247, 222, 239, 127, 251], [ 39, 245, 174, 23, 247, 255], [143, 215, 69, 147, 221, 189]], [[251, 187, 222, 223, 243, 220], [ 23, 240, 219, 253, 187, 51], [247, 252, 239, 235, 156, 62], [251, 191, 255, 255, 251, 245], [107, 95, 190, 255, 199, 63]], [[246, 237, 83, 143, 123, 185], [183, 255, 111, 255, 151, 63], [ 99, 171, 253, 175, 127, 127], [255, 255, 254, 230, 147, 190], [158, 255, 94, 239, 255, 127]]], [[[103, 255, 251, 187, 47, 223], [213, 255, 215, 254, 137, 254], [ 88, 173, 235, 255, 105, 251], [158, 235, 247, 237, 94, 119], [109, 54, 171, 99, 219, 245]], [[254, 109, 247, 239, 123, 249], [255, 246, 225, 214, 255, 125], [187, 103, 223, 15, 111, 249], [166, 229, 142, 159, 255, 95], [239, 229, 237, 215, 221, 233]], [[193, 59, 216, 255, 211, 253], [116, 254, 127, 253, 191, 59], [246, 126, 251, 235, 142, 250], [235, 254, 255, 215, 228, 253], [ 63, 127, 254, 142, 215, 79]], [[255, 249, 114, 13, 37, 191], [255, 189, 255, 182, 45, 189], [231, 186, 251, 239, 92, 119], [235, 223, 78, 230, 206, 174], [171, 254, 87, 239, 223, 246]]], [[[255, 127, 253, 170, 63, 255], [245, 249, 95, 174, 251, 123], [250, 237, 243, 250, 97, 63], [149, 237, 255, 229, 222, 255], [119, 179, 171, 235, 111, 186]], [[220, 215, 247, 219, 187, 185], [207, 47, 224, 215, 217, 255], [251, 103, 255, 23, 127, 251], [254, 3, 254, 95, 250, 95], [239, 215, 69, 215, 93, 247]], [[221, 255, 154, 159, 251, 254], [149, 243, 191, 255, 95, 63], [252, 254, 239, 235, 223, 122], [239, 254, 255, 219, 111, 237], [187, 95, 153, 128, 223, 43]], [[252, 239, 118, 238, 45, 191], [183, 223, 110, 183, 220, 61], [251, 234, 251, 189, 92, 243], [107, 239, 252, 238, 154, 167], [159, 251, 222, 213, 221, 150]]]] **test_cc_bitwise_or** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(4,), dtype=int32 [12, 10, 0, 0] y: shape=(4,), dtype=int32 [ 3, 6, 255, 0] Outputs: z: shape=(4,), dtype=int32 [ 15, 14, 255, 0] **test_cc_bitwise_or_i64_2d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4), dtype=int64 [[ 0, 0, 1, 1], [ 0, 0, -1, -1], [ 2, -2, 0, 0]] y: shape=(3, 4), dtype=int64 [[0, 0, 1, 0], [0, 0, 0, 0], [0, 0, 0, 0]] Outputs: z: shape=(3, 4), dtype=int64 [[ 0, 0, 1, 1], [ 0, 0, -1, -1], [ 2, -2, 0, 0]] **test_cc_bitwise_or_i8_2d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4), dtype=int8 [[ 0, 0, 0, -1], [ 0, 0, 1, 0], [ 0, -1, 0, 0]] y: shape=(3, 4), dtype=int8 [[ 0, 1, 0, 0], [ 0, 0, 0, 2], [ 1, 0, 0, -1]] Outputs: z: shape=(3, 4), dtype=int8 [[ 0, 1, 0, -1], [ 0, 0, 1, 2], [ 1, -1, 0, -1]] **test_cc_bitwise_or_ui32_2d** .. code-block:: text Node: BitwiseOr(x, y) -> (z) .. code-block:: text Inputs: x: shape=(3, 4), dtype=uint32 [[ 9783, 11528, 53234, 53224], [18130, 43718, 53495, 29468], [30223, 62567, 54187, 2473]] y: shape=(3, 4), dtype=uint32 [[23053, 34991, 16426, 35280], [ 4138, 25882, 43387, 50090], [60957, 9191, 35767, 54868]] Outputs: z: shape=(3, 4), dtype=uint32 [[32319, 44463, 53242, 53240], [22266, 61406, 63999, 62398], [65055, 63463, 56255, 57341]]