Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 18.216.51.7
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
c++ /
8 /
parallel /
Delete
Unzip
Name
Size
Permission
Date
Action
algo.h
78.15
KB
-rw-r--r--
2025-03-31 10:36
algobase.h
16.75
KB
-rw-r--r--
2025-03-31 10:36
algorithm
1.35
KB
-rw-r--r--
2025-03-31 10:36
algorithmfwd.h
31.45
KB
-rw-r--r--
2025-03-31 10:36
balanced_quicksort.h
16.55
KB
-rw-r--r--
2025-03-31 10:36
base.h
12.08
KB
-rw-r--r--
2025-03-31 10:36
basic_iterator.h
1.55
KB
-rw-r--r--
2025-03-31 10:36
checkers.h
2.25
KB
-rw-r--r--
2025-03-31 10:36
compatibility.h
3.7
KB
-rw-r--r--
2025-03-31 10:36
compiletime_settings.h
2.8
KB
-rw-r--r--
2025-03-31 10:36
equally_split.h
3.28
KB
-rw-r--r--
2025-03-31 10:36
features.h
3.46
KB
-rw-r--r--
2025-03-31 10:36
find.h
13.27
KB
-rw-r--r--
2025-03-31 10:36
find_selectors.h
6.83
KB
-rw-r--r--
2025-03-31 10:36
for_each.h
3.85
KB
-rw-r--r--
2025-03-31 10:36
for_each_selectors.h
10.32
KB
-rw-r--r--
2025-03-31 10:36
iterator.h
5.54
KB
-rw-r--r--
2025-03-31 10:36
list_partition.h
6.39
KB
-rw-r--r--
2025-03-31 10:36
losertree.h
27.92
KB
-rw-r--r--
2025-03-31 10:36
merge.h
9.35
KB
-rw-r--r--
2025-03-31 10:36
multiseq_selection.h
21.56
KB
-rw-r--r--
2025-03-31 10:36
multiway_merge.h
68.88
KB
-rw-r--r--
2025-03-31 10:36
multiway_mergesort.h
14.91
KB
-rw-r--r--
2025-03-31 10:36
numeric
20.23
KB
-rw-r--r--
2025-03-31 10:36
numericfwd.h
7.32
KB
-rw-r--r--
2025-03-31 10:36
omp_loop.h
3.94
KB
-rw-r--r--
2025-03-31 10:36
omp_loop_static.h
4.01
KB
-rw-r--r--
2025-03-31 10:36
par_loop.h
4.45
KB
-rw-r--r--
2025-03-31 10:36
parallel.h
1.54
KB
-rw-r--r--
2025-03-31 10:36
partial_sum.h
7.3
KB
-rw-r--r--
2025-03-31 10:36
partition.h
14.61
KB
-rw-r--r--
2025-03-31 10:36
queue.h
5.41
KB
-rw-r--r--
2025-03-31 10:36
quicksort.h
5.98
KB
-rw-r--r--
2025-03-31 10:36
random_number.h
4.13
KB
-rw-r--r--
2025-03-31 10:36
random_shuffle.h
18.24
KB
-rw-r--r--
2025-03-31 10:36
search.h
5.26
KB
-rw-r--r--
2025-03-31 10:36
set_operations.h
14.25
KB
-rw-r--r--
2025-03-31 10:36
settings.h
12.17
KB
-rw-r--r--
2025-03-31 10:36
sort.h
7.53
KB
-rw-r--r--
2025-03-31 10:36
tags.h
5.84
KB
-rw-r--r--
2025-03-31 10:36
types.h
3.63
KB
-rw-r--r--
2025-03-31 10:36
unique_copy.h
6.02
KB
-rw-r--r--
2025-03-31 10:36
workstealing.h
9.39
KB
-rw-r--r--
2025-03-31 10:36
Save
Rename
// -*- C++ -*- // Copyright (C) 2007-2018 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 // of the GNU General Public License as published by the Free Software // Foundation; either version 3, or (at your option) any later // version. // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. // You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. /** @file parallel/par_loop.h * @brief Parallelization of embarrassingly parallel execution by * means of equal splitting. * This file is a GNU parallel extension to the Standard C++ Library. */ // Written by Felix Putze. #ifndef _GLIBCXX_PARALLEL_PAR_LOOP_H #define _GLIBCXX_PARALLEL_PAR_LOOP_H 1 #include <omp.h> #include <parallel/settings.h> #include <parallel/base.h> #include <parallel/equally_split.h> namespace __gnu_parallel { /** @brief Embarrassingly parallel algorithm for random access * iterators, using hand-crafted parallelization by equal splitting * the work. * * @param __begin Begin iterator of element sequence. * @param __end End iterator of element sequence. * @param __o User-supplied functor (comparator, predicate, adding * functor, ...) * @param __f Functor to "process" an element with __op (depends on * desired functionality, e. g. for std::for_each(), ...). * @param __r Functor to "add" a single __result to the already * processed elements (depends on functionality). * @param __base Base value for reduction. * @param __output Pointer to position where final result is written to * @param __bound Maximum number of elements processed (e. g. for * std::count_n()). * @return User-supplied functor (that may contain a part of the result). */ template<typename _RAIter, typename _Op, typename _Fu, typename _Red, typename _Result> _Op __for_each_template_random_access_ed(_RAIter __begin, _RAIter __end, _Op __o, _Fu& __f, _Red __r, _Result __base, _Result& __output, typename std::iterator_traits<_RAIter>::difference_type __bound) { typedef std::iterator_traits<_RAIter> _TraitsType; typedef typename _TraitsType::difference_type _DifferenceType; const _DifferenceType __length = __end - __begin; _Result *__thread_results; bool* __constructed; _ThreadIndex __num_threads = __gnu_parallel::min<_DifferenceType> (__get_max_threads(), __length); # pragma omp parallel num_threads(__num_threads) { # pragma omp single { __num_threads = omp_get_num_threads(); __thread_results = static_cast<_Result*> (::operator new(__num_threads * sizeof(_Result))); __constructed = new bool[__num_threads]; } _ThreadIndex __iam = omp_get_thread_num(); // Neutral element. _Result* __reduct; _DifferenceType __start = __equally_split_point(__length, __num_threads, __iam), __stop = __equally_split_point(__length, __num_threads, __iam + 1); if (__start < __stop) { __reduct = new _Result(__f(__o, __begin + __start)); ++__start; __constructed[__iam] = true; } else __constructed[__iam] = false; for (; __start < __stop; ++__start) *__reduct = __r(*__reduct, __f(__o, __begin + __start)); if (__constructed[__iam]) { ::new(&__thread_results[__iam]) _Result(*__reduct); delete __reduct; } } //parallel for (_ThreadIndex __i = 0; __i < __num_threads; ++__i) if (__constructed[__i]) { __output = __r(__output, __thread_results[__i]); __thread_results[__i].~_Result(); } // Points to last element processed (needed as return value for // some algorithms like transform). __f._M_finish_iterator = __begin + __length; ::operator delete(__thread_results); delete[] __constructed; return __o; } } // end namespace #endif /* _GLIBCXX_PARALLEL_PAR_LOOP_H */