@@ -2973,5 +2973,36 @@ TEST(ONNX, NonZero_Constant)
29732973 EXPECT_EQ (output[i] , correct_output[i]);
29742974 }
29752975}
2976+ TEST (ONNX, IsInf)
2977+ {
2978+ // expected input
2979+ std::vector<float > input = { 1 , static_cast <float >(1 ./0 .), 2 .};
2980+ std::vector<uint8_t > correct_output = { 0 ,1 ,0 };
2981+
2982+ // not cannot use input.size() in string because input symbol will not be visible when running inference
2983+ ASSERT_INCLUDE_AND_RUN_SESSION_ARGS (std::vector<uint8_t >, " IsInf" ,std::string (" \"\" , " ) + std::to_string (input.size ()), input.size (),input);
2984+
2985+ // Checking output size
2986+ EXPECT_EQ (output.size (), correct_output.size ());
2987+ // Checking output
2988+ for (size_t i = 0 ; i < output.size (); ++i) {
2989+ EXPECT_EQ (output[i] , correct_output[i]);
2990+ }
2991+ }
29762992
2993+ TEST (ONNX, NotIsNaN)
2994+ {
2995+ // expected input
2996+ std::vector<float > input = { 1 , static_cast <float >(0 ./0 .), 2 .};
2997+ std::vector<uint8_t > correct_output = { 1 ,0 ,1 };
2998+
2999+ ASSERT_INCLUDE_AND_RUN_SESSION_ARGS (std::vector<uint8_t >, " NotIsNaN" ,std::string (" \"\" , " ) + std::to_string (input.size ()), input.size (),input);
3000+
3001+ // Checking output size
3002+ EXPECT_EQ (output.size (), correct_output.size ());
3003+ // Checking output
3004+ for (size_t i = 0 ; i < output.size (); ++i) {
3005+ EXPECT_EQ (output[i] , correct_output[i]);
3006+ }
3007+ }
29773008
0 commit comments