1 |
bicatali 10/05/05 16:11:18 |
2 |
|
3 |
Added: freemat-4.0-gcc45.patch |
4 |
Log: |
5 |
Added a patch to compile with gcc-4.5, thanks Xarthisius, bug #318045 |
6 |
(Portage version: 2.2_rc67/cvs/Linux x86_64) |
7 |
|
8 |
Revision Changes Path |
9 |
1.1 sci-mathematics/freemat/files/freemat-4.0-gcc45.patch |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-mathematics/freemat/files/freemat-4.0-gcc45.patch?rev=1.1&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-mathematics/freemat/files/freemat-4.0-gcc45.patch?rev=1.1&content-type=text/plain |
13 |
|
14 |
Index: freemat-4.0-gcc45.patch |
15 |
=================================================================== |
16 |
Fix building with gcc-4.5 |
17 |
|
18 |
http://bugs.gentoo.org/show_bug.cgi?id=318045 |
19 |
|
20 |
--- libs/libFreeMat/Array.cpp |
21 |
+++ libs/libFreeMat/Array.cpp |
22 |
@@ -465,7 +465,7 @@ |
23 |
|
24 |
void Array::set(const QString& field, ArrayVector& data) { |
25 |
if (isEmpty() && m_type.Class != Struct) |
26 |
- *this = Array::Array(Struct); |
27 |
+ *this = Array(Struct); |
28 |
if (m_type.Class != Struct) throw Exception("Unsupported type for A.field=B"); |
29 |
StructArray &rp(structPtr()); |
30 |
if (isEmpty()) |
31 |
--- libs/libFreeMat/Math.cpp |
32 |
+++ libs/libFreeMat/Math.cpp |
33 |
@@ -1590,9 +1590,9 @@ |
34 |
|
35 |
Array Not(const Array& A) { |
36 |
if (A.isScalar()) |
37 |
- return Array::Array(!A.toClass(Bool).constRealScalar<bool>()); |
38 |
+ return Array(!A.toClass(Bool).constRealScalar<bool>()); |
39 |
const Array &Abool(A.toClass(Bool)); |
40 |
- return Array::Array(Apply(Abool.constReal<bool>(),notfunc)); |
41 |
+ return Array(Apply(Abool.constReal<bool>(),notfunc)); |
42 |
} |
43 |
|
44 |
Array Plus(const Array& A) { |
45 |
--- libs/libFreeMat/Operators.hpp |
46 |
+++ libs/libFreeMat/Operators.hpp |
47 |
@@ -142,11 +142,11 @@ |
48 |
if (!Bcast.isScalar()) Bcast = Bcast.asDenseArray(); |
49 |
if (Acast.isScalar() && Bcast.isScalar()) { |
50 |
if (Acast.allReal() && Bcast.allReal()) { |
51 |
- F = Array::Array(Op::func(Acast.constRealScalar<T>(), |
52 |
+ F = Array(Op::func(Acast.constRealScalar<T>(), |
53 |
Bcast.constRealScalar<T>())); |
54 |
} else { |
55 |
Acast.forceComplex(); Bcast.forceComplex(); |
56 |
- F = Array::Array(T(0),T(0)); |
57 |
+ F = Array(T(0),T(0)); |
58 |
Op::func(Acast.constRealScalar<T>(), |
59 |
Acast.constImagScalar<T>(), |
60 |
Bcast.constRealScalar<T>(), |
61 |
@@ -155,7 +155,7 @@ |
62 |
} |
63 |
} else if (Acast.isScalar()) { |
64 |
if (Acast.allReal() && Bcast.allReal()) { |
65 |
- F = Array::Array(Tclass,Bcast.dimensions()); |
66 |
+ F = Array(Tclass,Bcast.dimensions()); |
67 |
T* ret = F.real<T>().data(); |
68 |
const T& Ap = Acast.constRealScalar<T>(); |
69 |
const T* Bp = Bcast.constReal<T>().constData(); |
70 |
@@ -163,7 +163,7 @@ |
71 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap,Bp[i]); |
72 |
} else { |
73 |
Acast.forceComplex(); Bcast.forceComplex(); |
74 |
- F = Array::Array(Tclass,Bcast.dimensions()); |
75 |
+ F = Array(Tclass,Bcast.dimensions()); |
76 |
T* Cr = F.real<T>().data(); |
77 |
T* Ci = F.imag<T>().data(); |
78 |
const T& Ar = Acast.constRealScalar<T>(); |
79 |
@@ -175,7 +175,7 @@ |
80 |
} |
81 |
} else if (Bcast.isScalar()) { |
82 |
if (Bcast.allReal() && Acast.allReal()) { |
83 |
- F = Array::Array(Tclass,Acast.dimensions()); |
84 |
+ F = Array(Tclass,Acast.dimensions()); |
85 |
T* ret = F.real<T>().data(); |
86 |
const T* Ap = Acast.constReal<T>().constData(); |
87 |
const T& Bp = Bcast.constRealScalar<T>(); |
88 |
@@ -183,7 +183,7 @@ |
89 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap[i],Bp); |
90 |
} else { |
91 |
Acast.forceComplex(); Bcast.forceComplex(); |
92 |
- F = Array::Array(Tclass,Acast.dimensions()); |
93 |
+ F = Array(Tclass,Acast.dimensions()); |
94 |
T* Cr = F.real<T>().data(); |
95 |
T* Ci = F.imag<T>().data(); |
96 |
const T* Ar = Acast.constReal<T>().constData(); |
97 |
@@ -197,7 +197,7 @@ |
98 |
if (Acast.dimensions() != Bcast.dimensions()) |
99 |
throw Exception("size mismatch in arguments to binary operator"); |
100 |
if (Bcast.allReal() && Acast.allReal()) { |
101 |
- F = Array::Array(Tclass,Acast.dimensions()); |
102 |
+ F = Array(Tclass,Acast.dimensions()); |
103 |
T* ret = F.real<T>().data(); |
104 |
const T* Ap = Acast.constReal<T>().constData(); |
105 |
const T* Bp = Bcast.constReal<T>().constData(); |
106 |
@@ -205,7 +205,7 @@ |
107 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap[i],Bp[i]); |
108 |
} else { |
109 |
Acast.forceComplex(); Bcast.forceComplex(); |
110 |
- F = Array::Array(Tclass,Acast.dimensions()); |
111 |
+ F = Array(Tclass,Acast.dimensions()); |
112 |
T* Cr = F.real<T>().data(); |
113 |
T* Ci = F.imag<T>().data(); |
114 |
const T* Ar = Acast.constReal<T>().constData(); |
115 |
@@ -328,17 +328,17 @@ |
116 |
if (!Acast.isScalar()) Acast = Acast.asDenseArray(); |
117 |
if (!Bcast.isScalar()) Bcast = Bcast.asDenseArray(); |
118 |
if (Acast.isScalar() && Bcast.isScalar()) { |
119 |
- F = Array::Array(Op::func(Acast.constRealScalar<T>(), |
120 |
+ F = Array(Op::func(Acast.constRealScalar<T>(), |
121 |
Bcast.constRealScalar<T>())); |
122 |
} else if (Acast.isScalar()) { |
123 |
- F = Array::Array(Bool,Bcast.dimensions()); |
124 |
+ F = Array(Bool,Bcast.dimensions()); |
125 |
bool* ret = F.real<bool>().data(); |
126 |
const T& Ap = Acast.constRealScalar<T>(); |
127 |
const T* Bp = Bcast.constReal<T>().constData(); |
128 |
uint64 q = uint64(Bcast.length()); |
129 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap,Bp[i]); |
130 |
} else if (Bcast.isScalar()) { |
131 |
- F = Array::Array(Bool,Acast.dimensions()); |
132 |
+ F = Array(Bool,Acast.dimensions()); |
133 |
bool* ret = F.real<bool>().data(); |
134 |
const T* Ap = Acast.constReal<T>().constData(); |
135 |
const T& Bp = Bcast.constRealScalar<T>(); |
136 |
@@ -347,7 +347,7 @@ |
137 |
} else { |
138 |
if (Acast.dimensions() != Bcast.dimensions()) |
139 |
throw Exception("size mismatch in arguments to binary operator"); |
140 |
- F = Array::Array(Bool,Acast.dimensions()); |
141 |
+ F = Array(Bool,Acast.dimensions()); |
142 |
bool* ret = F.real<bool>().data(); |
143 |
const T* Ap = Acast.constReal<T>().constData(); |
144 |
const T* Bp = Bcast.constReal<T>().constData(); |
145 |
@@ -395,18 +395,18 @@ |
146 |
if (!Bcast.isScalar()) Bcast = Bcast.asDenseArray(); |
147 |
if (Acast.isScalar() && Bcast.isScalar()) { |
148 |
if (Acast.allReal() && Bcast.allReal()) { |
149 |
- F = Array::Array(Op::func(Acast.constRealScalar<T>(), |
150 |
+ F = Array(Op::func(Acast.constRealScalar<T>(), |
151 |
Bcast.constRealScalar<T>())); |
152 |
} else { |
153 |
Acast.forceComplex(); Bcast.forceComplex(); |
154 |
- F = Array::Array(Op::func(Acast.constRealScalar<T>(), |
155 |
+ F = Array(Op::func(Acast.constRealScalar<T>(), |
156 |
Acast.constImagScalar<T>(), |
157 |
Bcast.constRealScalar<T>(), |
158 |
Bcast.constImagScalar<T>())); |
159 |
} |
160 |
} else if (Acast.isScalar()) { |
161 |
if (Acast.allReal() && Bcast.allReal()) { |
162 |
- F = Array::Array(Bool,Bcast.dimensions()); |
163 |
+ F = Array(Bool,Bcast.dimensions()); |
164 |
bool* ret = F.real<bool>().data(); |
165 |
const T& Ap = Acast.constRealScalar<T>(); |
166 |
const T* Bp = Bcast.constReal<T>().constData(); |
167 |
@@ -414,7 +414,7 @@ |
168 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap,Bp[i]); |
169 |
} else { |
170 |
Acast.forceComplex(); Bcast.forceComplex(); |
171 |
- F = Array::Array(Bool,Bcast.dimensions()); |
172 |
+ F = Array(Bool,Bcast.dimensions()); |
173 |
bool* ret = F.real<bool>().data(); |
174 |
const T& Ar = Acast.constRealScalar<T>(); |
175 |
const T& Ai = Acast.constImagScalar<T>(); |
176 |
@@ -425,7 +425,7 @@ |
177 |
} |
178 |
} else if (Bcast.isScalar()) { |
179 |
if (Bcast.allReal() && Acast.allReal()) { |
180 |
- F = Array::Array(Bool,Acast.dimensions()); |
181 |
+ F = Array(Bool,Acast.dimensions()); |
182 |
bool* ret = F.real<bool>().data(); |
183 |
const T* Ap = Acast.constReal<T>().constData(); |
184 |
const T& Bp = Bcast.constRealScalar<T>(); |
185 |
@@ -433,7 +433,7 @@ |
186 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap[i],Bp); |
187 |
} else { |
188 |
Acast.forceComplex(); Bcast.forceComplex(); |
189 |
- F = Array::Array(Bool,Acast.dimensions()); |
190 |
+ F = Array(Bool,Acast.dimensions()); |
191 |
bool* ret = F.real<bool>().data(); |
192 |
const T* Ar = Acast.constReal<T>().constData(); |
193 |
const T* Ai = Acast.constImag<T>().constData(); |
194 |
@@ -446,7 +446,7 @@ |
195 |
if (Acast.dimensions() != Bcast.dimensions()) |
196 |
throw Exception("size mismatch in arguments to binary operator"); |
197 |
if (Bcast.allReal() && Acast.allReal()) { |
198 |
- F = Array::Array(Bool,Acast.dimensions()); |
199 |
+ F = Array(Bool,Acast.dimensions()); |
200 |
bool* ret = F.real<bool>().data(); |
201 |
const T* Ap = Acast.constReal<T>().constData(); |
202 |
const T* Bp = Bcast.constReal<T>().constData(); |
203 |
@@ -454,7 +454,7 @@ |
204 |
for (uint64 i=0;i<q;i++) ret[i] = Op::func(Ap[i],Bp[i]); |
205 |
} else { |
206 |
Acast.forceComplex(); Bcast.forceComplex(); |
207 |
- F = Array::Array(Bool,Acast.dimensions()); |
208 |
+ F = Array(Bool,Acast.dimensions()); |
209 |
bool* ret = F.real<bool>().data(); |
210 |
const T* Ar = Acast.constReal<T>().constData(); |
211 |
const T* Ai = Acast.constImag<T>().constData(); |
212 |
@@ -533,9 +533,9 @@ |
213 |
if (!Acast.isScalar()) Acast = Acast.asDenseArray(); |
214 |
if (Acast.isScalar()) { |
215 |
if (Acast.allReal()) { |
216 |
- F = Array::Array(Op::func(Acast.constRealScalar<T>())); |
217 |
+ F = Array(Op::func(Acast.constRealScalar<T>())); |
218 |
} else { |
219 |
- F = Array::Array(T(0),T(0)); |
220 |
+ F = Array(T(0),T(0)); |
221 |
Op::func(Acast.constRealScalar<T>(), |
222 |
Acast.constImagScalar<T>(), |
223 |
F.realScalar<T>(),F.imagScalar<T>()); |