11.1Sjoerg//===-- fixunssfsivfp_test.c - Test __fixunssfsivfp -----------------------===// 21.1Sjoerg// 31.1Sjoerg// The LLVM Compiler Infrastructure 41.1Sjoerg// 51.1Sjoerg// This file is dual licensed under the MIT and the University of Illinois Open 61.1Sjoerg// Source Licenses. See LICENSE.TXT for details. 71.1Sjoerg// 81.1Sjoerg//===----------------------------------------------------------------------===// 91.1Sjoerg// 101.1Sjoerg// This file tests __fixunssfsivfp for the compiler_rt library. 111.1Sjoerg// 121.1Sjoerg//===----------------------------------------------------------------------===// 131.1Sjoerg 141.1Sjoerg#include <stdio.h> 151.1Sjoerg#include <stdlib.h> 161.1Sjoerg#include <math.h> 171.1Sjoerg 181.1Sjoerg 191.1Sjoergextern unsigned int __fixunssfsivfp(float a); 201.1Sjoerg 211.1Sjoerg#if __arm__ 221.1Sjoergint test__fixunssfsivfp(float a) 231.1Sjoerg{ 241.1Sjoerg unsigned int actual = __fixunssfsivfp(a); 251.1Sjoerg unsigned int expected = a; 261.1Sjoerg if (actual != expected) 271.1Sjoerg printf("error in test__fixunssfsivfp(%f) = %u, expected %u\n", 281.1Sjoerg a, actual, expected); 291.1Sjoerg return actual != expected; 301.1Sjoerg} 311.1Sjoerg#endif 321.1Sjoerg 331.1Sjoergint main() 341.1Sjoerg{ 351.1Sjoerg#if __arm__ 361.1Sjoerg if (test__fixunssfsivfp(0.0)) 371.1Sjoerg return 1; 381.1Sjoerg if (test__fixunssfsivfp(1.0)) 391.1Sjoerg return 1; 401.1Sjoerg if (test__fixunssfsivfp(-1.0)) 411.1Sjoerg return 1; 421.1Sjoerg if (test__fixunssfsivfp(4294967295.0)) 431.1Sjoerg return 1; 441.1Sjoerg if (test__fixunssfsivfp(65536.0)) 451.1Sjoerg return 1; 461.1Sjoerg#else 471.1Sjoerg printf("skipped\n"); 481.1Sjoerg#endif 491.1Sjoerg return 0; 501.1Sjoerg} 51