11.1Sjoerg//===-- gesf2vfp_test.c - Test __gesf2vfp ---------------------------------===// 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 __gesf2vfp for the compiler_rt library. 111.1Sjoerg// 121.1Sjoerg//===----------------------------------------------------------------------===// 131.1Sjoerg 141.1Sjoerg#include <stdlib.h> 151.1Sjoerg#include <stdint.h> 161.1Sjoerg#include <stdio.h> 171.1Sjoerg#include <math.h> 181.1Sjoerg 191.1Sjoerg 201.1Sjoergextern int __gesf2vfp(float a, float b); 211.1Sjoerg 221.1Sjoerg#if __arm__ 231.1Sjoergint test__gesf2vfp(float a, float b) 241.1Sjoerg{ 251.1Sjoerg int actual = __gesf2vfp(a, b); 261.1Sjoerg int expected = (a >= b) ? 1 : 0; 271.1Sjoerg if (actual != expected) 281.1Sjoerg printf("error in __gesf2vfp(%f, %f) = %d, expected %d\n", 291.1Sjoerg a, b, actual, expected); 301.1Sjoerg return actual != expected; 311.1Sjoerg} 321.1Sjoerg#endif 331.1Sjoerg 341.1Sjoergint main() 351.1Sjoerg{ 361.1Sjoerg#if __arm__ 371.1Sjoerg if (test__gesf2vfp(0.0, 0.0)) 381.1Sjoerg return 1; 391.1Sjoerg if (test__gesf2vfp(1.1, 1.0)) 401.1Sjoerg return 1; 411.1Sjoerg if (test__gesf2vfp(-1.0, -2.0)) 421.1Sjoerg return 1; 431.1Sjoerg if (test__gesf2vfp(-2.0, -1.0)) 441.1Sjoerg return 1; 451.1Sjoerg if (test__gesf2vfp(HUGE_VALF, 1.0)) 461.1Sjoerg return 1; 471.1Sjoerg if (test__gesf2vfp(1.0, HUGE_VALF)) 481.1Sjoerg return 1; 491.1Sjoerg#else 501.1Sjoerg printf("skipped\n"); 511.1Sjoerg#endif 521.1Sjoerg return 0; 531.1Sjoerg} 54