comparison tests/mini/intrinsics.d @ 443:44f08170f4ef

Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn. Reworked the LLVMDC specific pragmas.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Fri, 01 Aug 2008 00:32:06 +0200
parents 1bb99290e03a
children cc40db549aea
comparison
equal deleted inserted replaced
442:76078c8ab5b9 443:44f08170f4ef
1 import llvm.intrinsic; 1 import llvmdc.intrinsics;
2 2
3 extern(C) int printf(char*,...); 3 extern(C) int printf(char*,...);
4 extern(C) int scanf(char*,...); 4 extern(C) int scanf(char*,...);
5 5
6 void main() 6 void main()
7 { 7 {
8 {
9 float f; 8 float f;
10 printf("Enter float: "); 9 printf("Enter float: ");
11 scanf("%f", &f); 10 //scanf("%f", &f);
12 float sf = llvm_sqrt(f); 11 f = 1.22345;
12 float sf = llvm_sqrt_f32(f);
13 printf("sqrt(%f) = %f\n", f, sf); 13 printf("sqrt(%f) = %f\n", f, sf);
14 } 14
15
16 {
17 double d; 15 double d;
18 printf("Enter double: "); 16 printf("Enter double: ");
19 scanf("%lf", &d); 17 //scanf("%lf", &d);
20 double sd = llvm_sqrt(d); 18 d = 2.2311167895435245;
19 double sd = llvm_sqrt_f64(d);
21 printf("sqrt(%lf) = %lf\n", d, sd); 20 printf("sqrt(%lf) = %lf\n", d, sd);
21
22 real r;
23 printf("Enter real: ");
24 //scanf("%lf", &d);
25 r = 3.2311167891231231234754764576;
26 version(LLVM_X86_FP80)
27 {
28 real sr = llvm_sqrt_f80(r);
29 printf("sqrt(%llf) = %llf\n", r, sr);
22 } 30 }
23 31 else
24 { 32 {
25 real d; 33 real sr = llvm_sqrt_f64(r);
26 printf("Enter real: "); 34 printf("sqrt(%lf) = %lf\n", r, sr);
27 scanf("%lf", &d);
28 real sd = llvm_sqrt(d);
29 printf("sqrt(%lf) = %lf\n", d, sd);
30 } 35 }
31 } 36 }