1 typedef long unsigned int size_t;
2 namespace std __attribute__ ((__visibility__("default"))) {
14 } namespace __gnu_cxx __attribute__ ((__visibility__("default"))) {
15 template < typename _Tp > class new_allocator {
16 public:typedef size_t size_type;
17 template < typename _Tp1 > struct rebind {
18 typedef new_allocator < _Tp1 > other;
20 ~new_allocator()throw() {
24 namespace std __attribute__ ((__visibility__("default"))) {
25 template < typename _Tp > class allocator:public __gnu_cxx::new_allocator < _Tp >
31 template < class T, std::size_t N > class array {
33 namespace type_traits {
34 } template < typename _Tp, typename _Alloc > struct _Vector_base {
35 typedef typename _Alloc::template rebind <
36 _Tp >::other _Tp_alloc_type;
37 struct _Vector_impl:public _Tp_alloc_type {
40 _Tp *_M_end_of_storage;
41 _Vector_impl(_Tp_alloc_type const
42 &__a):_Tp_alloc_type(__a), _M_start(0),
43 _M_finish(0), _M_end_of_storage(0) {
45 public:typedef _Alloc allocator_type;
46 _Vector_base(const allocator_type & __a):_M_impl(__a) {
48 public:_Vector_impl _M_impl;
50 template < typename _Tp, typename _Alloc = std::allocator < _Tp > >class vector:protected _Vector_base < _Tp,
53 typedef _Vector_base < _Tp, _Alloc > _Base;
54 typedef _Alloc allocator_type;
55 public: explicit vector(const allocator_type & __a = allocator_type()):_Base(__a)
60 using namespace boost;
61 typedef array < float, 3 > particle;
62 typedef vector < particle > particle_array;
63 int main(int argc, char *argv[])
65 float field[512][512][512];
66 particle_array particles;
67 #pragma omp parallel private(field, particles)