|
1 --- stdcxx-4.2.1/include/valarray 2008-04-24 20:23:57.000000000 -0400 |
|
2 +++ stdcxx-4.2.1/include/valarray 2011-01-04 19:13:15.512297269 -0500 |
|
3 @@ -3,7 +3,7 @@ |
|
4 * |
|
5 * valaray - Declarations for the Standard Library valarray |
|
6 * |
|
7 - * $Id: valarray 604045 2007-12-13 21:56:09Z sebor $ |
|
8 + * $Id$ |
|
9 * |
|
10 *************************************************************************** |
|
11 * |
|
12 @@ -39,13 +39,13 @@ |
|
13 #include _RWSTD_CMATH |
|
14 |
|
15 |
|
16 -#ifdef _MSC_VER |
|
17 +#ifdef _RWSTD_MSVC |
|
18 # pragma warning (push) |
|
19 // disable conversion from 'double' to 'float', possible loss of data |
|
20 // until a conforming <cmath> header with float and long double overloads |
|
21 // for the C functions is provided |
|
22 # pragma warning (disable: 4244) |
|
23 -#endif // _MSC_VER |
|
24 +#endif // _RWSTD_MSVC |
|
25 |
|
26 |
|
27 _RWSTD_NAMESPACE (std) { |
|
28 @@ -1856,8 +1856,8 @@ |
|
29 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
30 _RWSTD_SIZE_T __cpt = 0; |
|
31 |
|
32 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
33 - { |
|
34 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
35 + && __cpt < __rhs.size ()) { |
|
36 (*_C_array)[__i] = __rhs[__cpt]; |
|
37 __i= gsl->next_ind(); |
|
38 __cpt++; |
|
39 @@ -1869,11 +1869,12 @@ |
|
40 { |
|
41 gslice *gsl = _RWSTD_CONST_CAST (gslice*, &_C_slice); |
|
42 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
43 + _RWSTD_SIZE_T __cpt = 0; |
|
44 |
|
45 - while( !gsl->is_reseted() ) |
|
46 - { |
|
47 + while (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) { |
|
48 (*_C_array)[__i] = value; |
|
49 __i= gsl->next_ind(); |
|
50 + __cpt++; |
|
51 } |
|
52 } |
|
53 |
|
54 @@ -1887,8 +1888,8 @@ |
|
55 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
56 _RWSTD_SIZE_T __cpt = 0; |
|
57 |
|
58 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
59 - { |
|
60 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
61 + && __cpt < __rhs.size ()) { |
|
62 (*_C_array)[__i] *= __rhs[__cpt]; |
|
63 __i= gsl->next_ind(); |
|
64 __cpt++; |
|
65 @@ -1902,8 +1903,8 @@ |
|
66 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
67 _RWSTD_SIZE_T __cpt = 0; |
|
68 |
|
69 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
70 - { |
|
71 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
72 + && __cpt < __rhs.size ()) { |
|
73 (*_C_array)[__i] /= __rhs[__cpt]; |
|
74 __i= gsl->next_ind(); |
|
75 __cpt++; |
|
76 @@ -1917,8 +1918,8 @@ |
|
77 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
78 _RWSTD_SIZE_T __cpt = 0; |
|
79 |
|
80 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
81 - { |
|
82 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
83 + && __cpt < __rhs.size ()) { |
|
84 (*_C_array)[__i] += __rhs[__cpt]; |
|
85 __i= gsl->next_ind(); |
|
86 __cpt++; |
|
87 @@ -1932,8 +1933,8 @@ |
|
88 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
89 _RWSTD_SIZE_T __cpt = 0; |
|
90 |
|
91 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
92 - { |
|
93 + while ( (!gsl->is_reseted() || (!__cpt && gsl->ind_numb ())) |
|
94 + && __cpt < __rhs.size ()) { |
|
95 (*_C_array)[__i] -= __rhs[__cpt]; |
|
96 __i= gsl->next_ind(); |
|
97 __cpt++; |
|
98 @@ -1948,8 +1949,8 @@ |
|
99 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
100 _RWSTD_SIZE_T __cpt = 0; |
|
101 |
|
102 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
103 - { |
|
104 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
105 + && __cpt < __rhs.size ()) { |
|
106 (*_C_array)[__i] %= __rhs[__cpt]; |
|
107 __i= gsl->next_ind(); |
|
108 __cpt++; |
|
109 @@ -1963,8 +1964,8 @@ |
|
110 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
111 _RWSTD_SIZE_T __cpt = 0; |
|
112 |
|
113 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
114 - { |
|
115 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
116 + && __cpt < __rhs.size ()) { |
|
117 (*_C_array)[__i] ^= __rhs[__cpt]; |
|
118 __i= gsl->next_ind(); |
|
119 __cpt++; |
|
120 @@ -1978,8 +1979,8 @@ |
|
121 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
122 _RWSTD_SIZE_T __cpt = 0; |
|
123 |
|
124 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
125 - { |
|
126 + while ( (!gsl->is_reseted() || (!__cpt && gsl->ind_numb ())) |
|
127 + && __cpt < __rhs.size ()) { |
|
128 (*_C_array)[__i] &= __rhs[__cpt]; |
|
129 __i= gsl->next_ind(); |
|
130 __cpt++; |
|
131 @@ -1993,8 +1994,8 @@ |
|
132 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
133 _RWSTD_SIZE_T __cpt = 0; |
|
134 |
|
135 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
136 - { |
|
137 + while ( (!gsl->is_reseted() || (!__cpt && gsl->ind_numb ())) |
|
138 + && __cpt < __rhs.size ()) { |
|
139 (*_C_array)[__i] |= __rhs[__cpt]; |
|
140 __i= gsl->next_ind(); |
|
141 __cpt++; |
|
142 @@ -2008,8 +2009,8 @@ |
|
143 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
144 _RWSTD_SIZE_T __cpt = 0; |
|
145 |
|
146 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
147 - { |
|
148 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
149 + && __cpt < __rhs.size ()) { |
|
150 (*_C_array)[__i] <<= __rhs[__cpt]; |
|
151 __i= gsl->next_ind(); |
|
152 __cpt++; |
|
153 @@ -2023,8 +2024,8 @@ |
|
154 _RWSTD_SIZE_T __i = gsl->next_ind(); |
|
155 _RWSTD_SIZE_T __cpt = 0; |
|
156 |
|
157 - while( (!gsl->is_reseted()) && (__cpt < __rhs.size()) ) |
|
158 - { |
|
159 + while ( (!gsl->is_reseted () || (!__cpt && gsl->ind_numb ())) |
|
160 + && __cpt < __rhs.size ()) { |
|
161 (*_C_array)[__i] >>= __rhs[__cpt]; |
|
162 __i= gsl->next_ind(); |
|
163 __cpt++; |
|
164 @@ -2037,10 +2038,12 @@ |
|
165 if (_C_length.size () == 0) |
|
166 return 0; |
|
167 |
|
168 - _RWSTD_SIZE_T __inx = 1; |
|
169 + _RWSTD_SIZE_T __inx = _C_length [0] != 0; |
|
170 |
|
171 - for(_RWSTD_SIZE_T __i = 0; __i < _C_length.size (); ++__i) |
|
172 + for(_RWSTD_SIZE_T __i = 0; __i < _C_length.size (); ++__i) { |
|
173 + if (_C_length [__i]) |
|
174 __inx *= _C_length [__i]; |
|
175 + } |
|
176 |
|
177 return __inx; |
|
178 } |
|
179 @@ -2146,14 +2149,15 @@ |
|
180 { |
|
181 gslice __sl(sl_ar._C_get_slice()); |
|
182 |
|
183 + const _RWSTD_SIZE_T __maxinx = __sl.ind_numb (); |
|
184 + |
|
185 _RW::__rw_array <_TypeT> __tmp = |
|
186 - _RW::__rw_array <_TypeT>(_TypeT (), __sl.ind_numb()); |
|
187 + _RW::__rw_array <_TypeT>(_TypeT (), __maxinx); |
|
188 |
|
189 _RWSTD_SIZE_T __i = __sl.next_ind(); |
|
190 _RWSTD_SIZE_T __cpt = 0; |
|
191 |
|
192 - while( !__sl.is_reseted() ) |
|
193 - { |
|
194 + while (!__sl.is_reseted () || (!__cpt && __maxinx)) { |
|
195 __tmp[__cpt] = (*(sl_ar.get_ref_mem_array()))[__i]; |
|
196 __i= __sl.next_ind(); |
|
197 __cpt++; |
|
198 @@ -2169,13 +2173,15 @@ |
|
199 { |
|
200 gslice __sl(sl_ar._C_get_slice()); |
|
201 |
|
202 + const _RWSTD_SIZE_T __maxinx = __sl.ind_numb (); |
|
203 + |
|
204 _RW::__rw_array <_TypeT> __tmp = |
|
205 - _RW::__rw_array <_TypeT>(_TypeT (), __sl.ind_numb()); |
|
206 + _RW::__rw_array <_TypeT>(_TypeT (), __maxinx); |
|
207 |
|
208 _RWSTD_SIZE_T __i = __sl.next_ind(); |
|
209 _RWSTD_SIZE_T __cpt = 0; |
|
210 |
|
211 - while( !__sl.is_reseted() ) |
|
212 + while( !__sl.is_reseted() || !__cpt && __maxinx ) |
|
213 { |
|
214 __tmp[__cpt] = (*(sl_ar.get_ref_mem_array()))[__i]; |
|
215 __i= __sl.next_ind(); |
|
216 @@ -2374,9 +2380,10 @@ |
|
217 #endif |
|
218 |
|
219 |
|
220 -#ifdef _MSC_VER |
|
221 +#ifdef _RWSTD_MSVC |
|
222 # pragma warning (pop) |
|
223 -#endif // _MSC_VER |
|
224 +#endif // _RWSTD_MSVC |
|
225 |
|
226 |
|
227 #endif // _RWSTD_VALARRAY_INCLUDED |
|
228 + |