source: Sophya/trunk/SophyaLib/TArray/gcc_arrmath_pb.h@ 1156

Last change on this file since 1156 was 882, checked in by ansari, 25 years ago

Pb compil matharr.h sur g++/linux , Reza 11/4/2000

File size: 3.4 KB
Line 
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
12inline double _Sqrt_(double x) { return(sqrt(x)) ; }
13inline double _Fabs_(double x) { return(fabs(x)) ; }
14inline double _Sin_(double x) { return(sin(x)) ; }
15inline double _Cos_(double x) { return(cos(x)) ; }
16inline double _Tan_(double x) { return(tan(x)) ; }
17inline double _aSin_(double x) { return(asin(x)) ; }
18inline double _aCos_(double x) { return(acos(x)) ; }
19inline double _aTan_(double x) { return(atan(x)) ; }
20inline double _Exp_(double x) { return(exp(x)) ; }
21inline double _Log_(double x) { return(log(x)) ; }
22inline double _Log10_(double x) { return(log10(x)) ; }
23
24// ----- Instantiation pour r_8
25inline TArray<r_8> fabs(const TArray<r_8>& a)
26 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Fabs_) ); }
27
28inline TArray<r_8> sqrt(const TArray<r_8>& a)
29 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Sqrt_) ); }
30
31inline TArray<r_8> sin(const TArray<r_8>& a)
32 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Sin_) ); }
33
34inline TArray<r_8> cos(const TArray<r_8>& a)
35 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Cos_) ); }
36
37inline TArray<r_8> tan(const TArray<r_8>& a)
38 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Tan_) ); }
39
40inline TArray<r_8> asin(const TArray<r_8>& a)
41 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aSin_) ); }
42
43inline TArray<r_8> acos(const TArray<r_8>& a)
44 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aCos_) ); }
45
46inline TArray<r_8> atan(const TArray<r_8>& a)
47 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _aTan_) ); }
48
49inline TArray<r_8> exp(const TArray<r_8>& a)
50 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Exp_) ); }
51
52inline TArray<r_8> log(const TArray<r_8>& a)
53 { MathArray<r_8> ma; return( ma.ApplyFunction(a, _Log_) ); }
54
55inline 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
60inline TArray<r_4> fabs(const TArray<r_4>& a)
61 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Fabs_) ); }
62
63inline TArray<r_4> sqrt(const TArray<r_4>& a)
64 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Sqrt_) ); }
65
66inline TArray<r_4> sin(const TArray<r_4>& a)
67 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Sin_) ); }
68
69inline TArray<r_4> cos(const TArray<r_4>& a)
70 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Cos_) ); }
71
72inline TArray<r_4> tan(const TArray<r_4>& a)
73 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Tan_) ); }
74
75inline TArray<r_4> asin(const TArray<r_4>& a)
76 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aSin_) ); }
77
78inline TArray<r_4> acos(const TArray<r_4>& a)
79 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aCos_) ); }
80
81inline TArray<r_4> atan(const TArray<r_4>& a)
82 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _aTan_) ); }
83
84inline TArray<r_4> exp(const TArray<r_4>& a)
85 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Exp_) ); }
86
87inline TArray<r_4> log(const TArray<r_4>& a)
88 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Log_) ); }
89
90inline TArray<r_4> log10(const TArray<r_4>& a)
91 { MathArray<r_4> ma; return( ma.ApplyFunction(a, _Log10_) ); }
92
93#endif
Note: See TracBrowser for help on using the repository browser.