Mercurial > projects > ldc
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 } |