1 | // This may look like C code, but it is really -*- C++ -*-
|
---|
2 | // g++ (up to 2.95.1) doesn't handle these inline template
|
---|
3 | // functions correctly - with math functions defined in math.h
|
---|
4 | // R. Ansari, C.Magneville 04/2000
|
---|
5 |
|
---|
6 | // --- This file should not be included directly -----
|
---|
7 | // conditional include only in matharr.h
|
---|
8 |
|
---|
9 | #ifndef GCCARRMATHPB_SEEN
|
---|
10 | #define GCCARRMATHPB_SEEN
|
---|
11 |
|
---|
12 | inline double _Sqrt_(double x) { return(sqrt(x)) ; }
|
---|
13 | inline double _Fabs_(double x) { return(fabs(x)) ; }
|
---|
14 | inline double _Sin_(double x) { return(sin(x)) ; }
|
---|
15 | inline double _Cos_(double x) { return(cos(x)) ; }
|
---|
16 | inline double _Tan_(double x) { return(tan(x)) ; }
|
---|
17 | inline double _aSin_(double x) { return(asin(x)) ; }
|
---|
18 | inline double _aCos_(double x) { return(acos(x)) ; }
|
---|
19 | inline double _aTan_(double x) { return(atan(x)) ; }
|
---|
20 | inline double _Exp_(double x) { return(exp(x)) ; }
|
---|
21 | inline double _Log_(double x) { return(log(x)) ; }
|
---|
22 | inline double _Log10_(double x) { return(log10(x)) ; }
|
---|
23 |
|
---|
24 | // ----- Instantiation pour r_8
|
---|
25 | inline TArray<r_8> fabs(const TArray<r_8>& a)
|
---|
26 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Fabs_) ); }
|
---|
27 |
|
---|
28 | inline TArray<r_8> sqrt(const TArray<r_8>& a)
|
---|
29 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Sqrt_) ); }
|
---|
30 |
|
---|
31 | inline TArray<r_8> sin(const TArray<r_8>& a)
|
---|
32 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Sin_) ); }
|
---|
33 |
|
---|
34 | inline TArray<r_8> cos(const TArray<r_8>& a)
|
---|
35 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Cos_) ); }
|
---|
36 |
|
---|
37 | inline TArray<r_8> tan(const TArray<r_8>& a)
|
---|
38 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Tan_) ); }
|
---|
39 |
|
---|
40 | inline TArray<r_8> asin(const TArray<r_8>& a)
|
---|
41 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aSin_) ); }
|
---|
42 |
|
---|
43 | inline TArray<r_8> acos(const TArray<r_8>& a)
|
---|
44 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aCos_) ); }
|
---|
45 |
|
---|
46 | inline TArray<r_8> atan(const TArray<r_8>& a)
|
---|
47 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aTan_) ); }
|
---|
48 |
|
---|
49 | inline TArray<r_8> exp(const TArray<r_8>& a)
|
---|
50 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Exp_) ); }
|
---|
51 |
|
---|
52 | inline TArray<r_8> log(const TArray<r_8>& a)
|
---|
53 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Log_) ); }
|
---|
54 |
|
---|
55 | inline TArray<r_8> log10(const TArray<r_8>& a)
|
---|
56 | { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Log10_) ); }
|
---|
57 |
|
---|
58 |
|
---|
59 | // ----- Instantiation pour r_4
|
---|
60 | inline TArray<r_4> fabs(const TArray<r_4>& a)
|
---|
61 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Fabs_) ); }
|
---|
62 |
|
---|
63 | inline TArray<r_4> sqrt(const TArray<r_4>& a)
|
---|
64 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Sqrt_) ); }
|
---|
65 |
|
---|
66 | inline TArray<r_4> sin(const TArray<r_4>& a)
|
---|
67 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Sin_) ); }
|
---|
68 |
|
---|
69 | inline TArray<r_4> cos(const TArray<r_4>& a)
|
---|
70 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Cos_) ); }
|
---|
71 |
|
---|
72 | inline TArray<r_4> tan(const TArray<r_4>& a)
|
---|
73 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Tan_) ); }
|
---|
74 |
|
---|
75 | inline TArray<r_4> asin(const TArray<r_4>& a)
|
---|
76 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aSin_) ); }
|
---|
77 |
|
---|
78 | inline TArray<r_4> acos(const TArray<r_4>& a)
|
---|
79 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aCos_) ); }
|
---|
80 |
|
---|
81 | inline TArray<r_4> atan(const TArray<r_4>& a)
|
---|
82 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aTan_) ); }
|
---|
83 |
|
---|
84 | inline TArray<r_4> exp(const TArray<r_4>& a)
|
---|
85 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Exp_) ); }
|
---|
86 |
|
---|
87 | inline TArray<r_4> log(const TArray<r_4>& a)
|
---|
88 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Log_) ); }
|
---|
89 |
|
---|
90 | inline TArray<r_4> log10(const TArray<r_4>& a)
|
---|
91 | { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Log10_) ); }
|
---|
92 |
|
---|
93 | #endif
|
---|