| Nick Kledzik | ad160c0 | 2009-09-14 23:26:56 +0000 | [diff] [blame] | 1 | //===-- floatsidfvfp_test.c - Test __floatsidfvfp -------------------------===// | 
|  | 2 | // | 
|  | 3 | //                     The LLVM Compiler Infrastructure | 
|  | 4 | // | 
| Howard Hinnant | 5b791f6 | 2010-11-16 22:13:33 +0000 | [diff] [blame] | 5 | // This file is dual licensed under the MIT and the University of Illinois Open | 
|  | 6 | // Source Licenses. See LICENSE.TXT for details. | 
| Nick Kledzik | ad160c0 | 2009-09-14 23:26:56 +0000 | [diff] [blame] | 7 | // | 
|  | 8 | //===----------------------------------------------------------------------===// | 
|  | 9 | // | 
|  | 10 | // This file tests __floatsidfvfp for the compiler_rt library. | 
|  | 11 | // | 
|  | 12 | //===----------------------------------------------------------------------===// | 
|  | 13 |  | 
|  | 14 | #include <stdio.h> | 
|  | 15 | #include <stdlib.h> | 
|  | 16 | #include <math.h> | 
|  | 17 |  | 
|  | 18 |  | 
|  | 19 | extern double __floatsidfvfp(int a); | 
|  | 20 |  | 
|  | 21 | #if __arm__ | 
|  | 22 | int test__floatsidfvfp(int a) | 
|  | 23 | { | 
|  | 24 | double actual = __floatsidfvfp(a); | 
|  | 25 | double expected = a; | 
|  | 26 | if (actual != expected) | 
|  | 27 | printf("error in test__ floatsidfvfp(%d) = %f, expected %f\n", | 
|  | 28 | a, actual, expected); | 
|  | 29 | return actual != expected; | 
|  | 30 | } | 
|  | 31 | #endif | 
|  | 32 |  | 
|  | 33 | int main() | 
|  | 34 | { | 
|  | 35 | #if __arm__ | 
|  | 36 | if (test__floatsidfvfp(0)) | 
|  | 37 | return 1; | 
|  | 38 | if (test__floatsidfvfp(1)) | 
|  | 39 | return 1; | 
|  | 40 | if (test__floatsidfvfp(-1)) | 
|  | 41 | return 1; | 
|  | 42 | if (test__floatsidfvfp(0x7FFFFFFF)) | 
|  | 43 | return 1; | 
|  | 44 | if (test__floatsidfvfp(0x80000000)) | 
|  | 45 | return 1; | 
|  | 46 | #endif | 
|  | 47 | return 0; | 
|  | 48 | } |