1 --- gcc/libstdc++-v3/include/bits/valarray_array.h (revision 110087)
2 +++ gcc/libstdc++-v3/include/bits/valarray_array.h (working copy)
4 _Tp* const __restrict__ _M_data;
8 + // Copy-construct plain array __b[<__n>] from indexed array __a[__i[<__n>]]
11 + __valarray_copy_construct(_Array<_Tp> __a, _Array<size_t> __i,
12 + _Array<_Tp> __b, size_t __n)
13 + { std::__valarray_copy_construct(__a._M_data, __i._M_data,
14 + __b._M_data, __n); }
16 + // Copy-construct plain array __b[<__n>] from strided array __a[<__n : __s>]
17 + template<typename _Tp>
19 + __valarray_copy_construct(_Array<_Tp> __a, size_t __n, size_t __s,
21 + { std::__valarray_copy_construct(__a._M_data, __n, __s, __b._M_data); }
23 + template<typename _Tp>
25 __valarray_fill (_Array<_Tp> __a, size_t __n, const _Tp& __t)
26 { std::__valarray_fill(__a._M_data, __n, __t); }
28 --- gcc/libstdc++-v3/include/std/std_valarray.h (revision 110087)
29 +++ gcc/libstdc++-v3/include/std/std_valarray.h (working copy)
31 valarray<_Tp>::valarray(const slice_array<_Tp>& __sa)
32 : _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz))
34 - std::__valarray_copy
35 + std::__valarray_copy_construct
36 (__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data));
40 : _M_size(__ga._M_index.size()),
41 _M_data(__valarray_get_storage<_Tp>(_M_size))
43 - std::__valarray_copy
44 + std::__valarray_copy_construct
45 (__ga._M_array, _Array<size_t>(__ga._M_index),
46 _Array<_Tp>(_M_data), _M_size);
49 valarray<_Tp>::valarray(const mask_array<_Tp>& __ma)
50 : _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz))
52 - std::__valarray_copy
53 + std::__valarray_copy_construct
54 (__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size);
58 valarray<_Tp>::valarray(const indirect_array<_Tp>& __ia)
59 : _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz))
61 - std::__valarray_copy
62 + std::__valarray_copy_construct
63 (__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size);
68 valarray<_Tp>::valarray(const _Expr<_Dom, _Tp>& __e)
69 : _M_size(__e.size()), _M_data(__valarray_get_storage<_Tp>(_M_size))
70 - { std::__valarray_copy(__e, _M_size, _Array<_Tp>(_M_data)); }
71 + { std::__valarray_copy_construct(__e, _M_size, _Array<_Tp>(_M_data)); }
73 template<typename _Tp>