| func.func @narrow_int_i32_i8() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi32> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi32>) -> tensor<3xi8> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi8>) : tensor<3xi8> | 
 |   return | 
 | } | 
 |  | 
 | func.func @widen_int_i8_i32() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi8> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi8>) -> tensor<3xi32> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi32>) : tensor<3xi32> | 
 |   return | 
 | } | 
 |  | 
 | func.func @narrow_int_i32_i16() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi32> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi32>) -> tensor<3xi16> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi16>) : tensor<3xi16> | 
 |   return | 
 | } | 
 |  | 
 | func.func @widen_int_i16_i32() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi16> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi16>) -> tensor<3xi32> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi32>) : tensor<3xi32> | 
 |   return | 
 | } | 
 |  | 
 | func.func @narrow_int_i64_i32() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi64> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi64>) -> tensor<3xi32> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi32>) : tensor<3xi32> | 
 |   return | 
 | } | 
 |  | 
 | func.func @widen_int_i32_i64() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi32> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi32>) -> tensor<3xi64> | 
 |   check.expect_eq_const(%res, dense<[-42, 0, 42]> : tensor<3xi64>) : tensor<3xi64> | 
 |   return | 
 | } | 
 |  | 
 | func.func @int_to_float() { | 
 |   %input = util.unfoldable_constant dense<[-42, 0, 42]> : tensor<3xi32> | 
 |   %res = "stablehlo.convert"(%input) : (tensor<3xi32>) -> tensor<3xf32> | 
 |   check.expect_almost_eq_const(%res, dense<[-42.0, 0.0, 42.0]> : tensor<3xf32>) : tensor<3xf32> | 
 |   return | 
 | } | 
 |  | 
 | // TODO(#6160): XLA does not specify the rounding behavior, meaning that we | 
 | // can't test something like -10.5 as that could be -11 (roundf) or -10 (rint | 
 | // with round-to-even mode). | 
 | // | 
 | // For casting rules, see | 
 | // https://www.tensorflow.org/xla/operation_semantics#convertelementtype | 
 | // func.func @float_to_int() { | 
 | //   %input = util.unfoldable_constant dense<[-10.5, -4.4, 4.4, 10.5]> : tensor<4xf32> | 
 | //   %res = "stablehlo.convert"(%input) : (tensor<4xf32>) -> tensor<4xi32> | 
 | //   check.expect_eq_const(%res, dense<[-10, -4, 4, 10]> : tensor<4xi32>) : tensor<4xi32> | 
 | //   return | 
 | // } |