Skip to content
22 changes: 12 additions & 10 deletions test/neura/interpreter/basic_operation/cast.mlir
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,20 @@ func.func @test_cast_i2bool() -> i1 {
return %res : i1
}

f2i with true predicate
func.func @test_cast_embed_predicated() -> i32 {
%val = "neura.constant"() {value = 5.5 : f32} : () -> f32
%res = "neura.cast"(%val) { cast_type = "f2i" } : (f32) -> i32
// f2i with true predicate
func.func @test_cast_predicated() -> i32 {
%val = arith.constant 5.5 : f32
%pred = arith.constant 1 : i1
%res = "neura.cast"(%val, %pred) { cast_type = "f2i" } : (f32, i1) -> i32
// CHECK: [neura-interpreter] → Output: 6.000000
return %res : i32
}

// f2i with false predicate
// func.func @test_cast_embed_predicate_false() -> i32 {
// %val = "neura.constant"() {value = 5.5 : f32, predicate = false} : () -> f32
// %res = "neura.cast"(%val) { cast_type = "f2i" } : (f32) -> i32
// // [neura-interpreter] → Output: 0.000000
// return %res : i32
// }
func.func @test_cast_predicate_false() -> i32 {
%val = arith.constant 5.5 : f32
%pred = arith.constant 0 : i1
%res = "neura.cast"(%val, %pred) { cast_type = "f2i" } : (f32, i1) -> i32
// CHECK: [neura-interpreter] → Output: 0.000000
return %res : i32
}
Loading