BitwiseNot#

  • Domain: ai.onnx

  • Since version: 18

Returns the bitwise not of the input tensor element-wise.

Inputs

  • X (T): Input tensor

Outputs

  • Y (T): Output tensor

Type Constraints

  • T: Constrain input/output to integer tensors. Allowed types: tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8).

Examples#

test_bitwise_not_2d

Node:
  BitwiseNot(x) -> (y)
Inputs:
  x: shape=(3, 4), dtype=int32
    [[ 0,  0,  0,  0],
     [-1,  0,  0,  1],
     [ 0,  0,  0,  0]]

Outputs:
  y: shape=(3, 4), dtype=int32
    [[-1, -1, -1, -1],
     [ 0, -1, -1, -2],
     [-1, -1, -1, -1]]

test_bitwise_not_3d

Node:
  BitwiseNot(x) -> (y)
Inputs:
  x: shape=(3, 4, 5), dtype=uint16
    [[[10932, 17450, 14946, 31949,  2110],
      [28110,  7000, 14691, 20035, 16202],
      [17939,  4352,  5138, 16839, 12659],
      [26879,  4816, 18416,  3829,  9059]],

     [[15182, 30613,  1047, 22021,  8941],
      [31339, 15826, 28771,  4941, 17885],
      [22633, 28860, 28315, 27380, 16096],
      [17981,  4899, 21806, 18534, 14594]],

     [[ 8455, 26116, 22254, 25107, 28502],
      [19814,  7043, 24847,  7750,  2309],
      [31620, 16278,  3858, 29347, 24224],
      [14944, 12203,  7181, 25746, 28370]]]

Outputs:
  y: shape=(3, 4, 5), dtype=uint16
    [[[54603, 48085, 50589, 33586, 63425],
      [37425, 58535, 50844, 45500, 49333],
      [47596, 61183, 60397, 48696, 52876],
      [38656, 60719, 47119, 61706, 56476]],

     [[50353, 34922, 64488, 43514, 56594],
      [34196, 49709, 36764, 60594, 47650],
      [42902, 36675, 37220, 38155, 49439],
      [47554, 60636, 43729, 47001, 50941]],

     [[57080, 39419, 43281, 40428, 37033],
      [45721, 58492, 40688, 57785, 63226],
      [33915, 49257, 61677, 36188, 41311],
      [50591, 53332, 58354, 39789, 37165]]]

test_bitwise_not_4d

Node:
  BitwiseNot(x) -> (y)
Inputs:
  x: shape=(3, 4, 5, 6), dtype=uint8
    [[[[ 33, 117,   7, 202, 196, 131],
       [182, 168, 100, 129,  54,  27],
       [161, 141,  67, 243, 179,  26],
       [103, 111, 159, 211,  19, 246],
       [ 60,  36, 196,  22, 118, 167]],

      [[184, 157,  14,   3, 180, 104],
       [164,  46, 138, 198, 125, 132],
       [195, 162, 200, 112,  91,  25],
       [196,  28, 218, 163, 236, 176],
       [ 40, 112, 124, 184, 116,  66]],

      [[112, 177, 248,  68, 181, 206],
       [136, 243, 171,  41,  19,  17],
       [ 57, 249, 254, 100, 161, 117],
       [ 98, 158,  63,  26, 216,  92],
       [249,  93, 129, 119,  51, 112]],

      [[168, 208, 120, 139,  26, 171],
       [ 96, 203,  90, 240, 251,  72],
       [ 26,  63,  70,  49, 213, 192],
       [ 28, 137, 118, 142, 123, 148],
       [ 58, 217, 202, 178, 157, 137]]],


     [[[ 89,  54, 241, 167,  69,  10],
       [111,  21, 200, 111, 226, 189],
       [ 37, 154, 156, 127, 193,  67],
       [  7,  59, 201,  96, 218, 218],
       [ 72, 218, 202, 229, 254, 192]],

      [[236, 119,  70, 222, 149,  25],
       [ 92,  30, 173, 235, 111, 158],
       [149, 109,  74, 180, 123, 195],
       [132, 204, 163, 239, 215, 153],
       [ 72,  28, 246, 202, 132, 191]],

      [[206, 146, 228,  88, 115, 102],
       [141, 159, 125, 130, 215, 131],
       [177, 139,  12,  81, 231,  77],
       [106, 198,   2,  18,  23,   2],
       [134, 255,  98, 222, 113,  25]],

      [[138, 229, 156, 127, 134,  47],
       [224, 177, 180,  93, 200,  37],
       [202, 125, 146, 100,  94, 184],
       [186, 227, 240, 107, 231, 229],
       [123, 101,  63, 120,  76,  57]]],


     [[[ 24,  48, 243, 144, 205, 166],
       [228, 239, 108, 119, 173, 188],
       [213, 233, 114, 207, 235,  79],
       [140, 183,  47, 151,  72, 137],
       [225, 107, 220,  80, 213, 184]],

      [[  3, 213, 197, 230, 114,  16],
       [ 75,  84, 190, 114,  91,  74],
       [167,  88,  88, 138,  61, 181],
       [102,  28, 233,  80, 166,  53],
       [181,  44, 203, 236, 214,  43]],

      [[ 86, 144, 162,   0, 170, 197],
       [ 49, 138,  62, 222,  99,   4],
       [ 79, 108, 238,   7, 102, 154],
       [ 76, 175,  32,  28,  89, 169],
       [185, 198, 101,  92, 252,  36]],

      [[205,  59, 170, 156, 209, 105],
       [167, 149, 158,  99,   7, 140],
       [ 48, 149, 209,  97,  56,  41],
       [178,  48,  82, 240, 216,  62],
       [204,  85,  59,  58, 195, 133]]]]

Outputs:
  y: shape=(3, 4, 5, 6), dtype=uint8
    [[[[222, 138, 248,  53,  59, 124],
       [ 73,  87, 155, 126, 201, 228],
       [ 94, 114, 188,  12,  76, 229],
       [152, 144,  96,  44, 236,   9],
       [195, 219,  59, 233, 137,  88]],

      [[ 71,  98, 241, 252,  75, 151],
       [ 91, 209, 117,  57, 130, 123],
       [ 60,  93,  55, 143, 164, 230],
       [ 59, 227,  37,  92,  19,  79],
       [215, 143, 131,  71, 139, 189]],

      [[143,  78,   7, 187,  74,  49],
       [119,  12,  84, 214, 236, 238],
       [198,   6,   1, 155,  94, 138],
       [157,  97, 192, 229,  39, 163],
       [  6, 162, 126, 136, 204, 143]],

      [[ 87,  47, 135, 116, 229,  84],
       [159,  52, 165,  15,   4, 183],
       [229, 192, 185, 206,  42,  63],
       [227, 118, 137, 113, 132, 107],
       [197,  38,  53,  77,  98, 118]]],


     [[[166, 201,  14,  88, 186, 245],
       [144, 234,  55, 144,  29,  66],
       [218, 101,  99, 128,  62, 188],
       [248, 196,  54, 159,  37,  37],
       [183,  37,  53,  26,   1,  63]],

      [[ 19, 136, 185,  33, 106, 230],
       [163, 225,  82,  20, 144,  97],
       [106, 146, 181,  75, 132,  60],
       [123,  51,  92,  16,  40, 102],
       [183, 227,   9,  53, 123,  64]],

      [[ 49, 109,  27, 167, 140, 153],
       [114,  96, 130, 125,  40, 124],
       [ 78, 116, 243, 174,  24, 178],
       [149,  57, 253, 237, 232, 253],
       [121,   0, 157,  33, 142, 230]],

      [[117,  26,  99, 128, 121, 208],
       [ 31,  78,  75, 162,  55, 218],
       [ 53, 130, 109, 155, 161,  71],
       [ 69,  28,  15, 148,  24,  26],
       [132, 154, 192, 135, 179, 198]]],


     [[[231, 207,  12, 111,  50,  89],
       [ 27,  16, 147, 136,  82,  67],
       [ 42,  22, 141,  48,  20, 176],
       [115,  72, 208, 104, 183, 118],
       [ 30, 148,  35, 175,  42,  71]],

      [[252,  42,  58,  25, 141, 239],
       [180, 171,  65, 141, 164, 181],
       [ 88, 167, 167, 117, 194,  74],
       [153, 227,  22, 175,  89, 202],
       [ 74, 211,  52,  19,  41, 212]],

      [[169, 111,  93, 255,  85,  58],
       [206, 117, 193,  33, 156, 251],
       [176, 147,  17, 248, 153, 101],
       [179,  80, 223, 227, 166,  86],
       [ 70,  57, 154, 163,   3, 219]],

      [[ 50, 196,  85,  99,  46, 150],
       [ 88, 106,  97, 156, 248, 115],
       [207, 106,  46, 158, 199, 214],
       [ 77, 207, 173,  15,  39, 193],
       [ 51, 170, 196, 197,  60, 122]]]]

test_cc_bitwise_not

Node:
  BitwiseNot(x) -> (y)
Inputs:
  x: shape=(4,), dtype=int32
    [    0,    -1,     1, 74565]

Outputs:
  y: shape=(4,), dtype=int32
    [    -1,      0,     -2, -74566]