projects
/
gcc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
[gcc.git]
/
libstdc++-v3
/
include
/
parallel
/
random_shuffle.h
diff --git
a/libstdc++-v3/include/parallel/random_shuffle.h
b/libstdc++-v3/include/parallel/random_shuffle.h
index c3967c22880b6552a91f2acd478f6f257532a437..bae95724966b8462fd924f366062e1cd8c4a155b 100644
(file)
--- a/
libstdc++-v3/include/parallel/random_shuffle.h
+++ b/
libstdc++-v3/include/parallel/random_shuffle.h
@@
-1,6
+1,6
@@
// -*- C++ -*-
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010
, 2011
Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@
-209,7
+209,7
@@
namespace __gnu_parallel
_ThreadIndex __target_p = __bin_proc[__target_bin];
// Last column [__d->_M_num_threads] stays unchanged.
_ThreadIndex __target_p = __bin_proc[__target_bin];
// Last column [__d->_M_num_threads] stays unchanged.
- ::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++]))
+
::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++]))
_ValueType(*(__source + __i + __start));
}
_ValueType(*(__source + __i + __start));
}
@@
-227,8
+227,8
@@
namespace __gnu_parallel
(__sd->_M_temporaries[__iam]
+ (__b == __d->_M_bins_begin
? 0 : __sd->_M_dist[__b][__d->_M_num_threads])),
(__sd->_M_temporaries[__iam]
+ (__b == __d->_M_bins_begin
? 0 : __sd->_M_dist[__b][__d->_M_num_threads])),
-
*
__end = (__sd->_M_temporaries[__iam]
-
+ __sd->_M_dist[__b + 1][__d->_M_num_threads]);
+
*
__end = (__sd->_M_temporaries[__iam]
+ + __sd->_M_dist[__b + 1][__d->_M_num_threads]);
__sequential_random_shuffle(__begin, __end, __rng);
std::copy(__begin, __end, __sd->_M_source + __global_offset
__sequential_random_shuffle(__begin, __end, __rng);
std::copy(__begin, __end, __sd->_M_source + __global_offset
@@
-236,8
+236,6
@@
namespace __gnu_parallel
? 0 : __sd->_M_dist[__b][__d->_M_num_threads]));
}
? 0 : __sd->_M_dist[__b][__d->_M_num_threads]));
}
- for (_SequenceIndex __i = 0; __i < __offset; ++__i)
- __sd->_M_temporaries[__iam][__i].~_ValueType();
::operator delete(__sd->_M_temporaries[__iam]);
}
::operator delete(__sd->_M_temporaries[__iam]);
}
@@
-503,9
+501,6
@@
namespace __gnu_parallel
delete[] __dist0;
delete[] __dist1;
delete[] __oracles;
delete[] __dist0;
delete[] __dist1;
delete[] __oracles;
-
- for (_DifferenceType __i = 0; __i < __n; ++__i)
- __target[__i].~_ValueType();
::operator delete(__target);
}
else
::operator delete(__target);
}
else