__gnu_para...GlobalData(3)

πŸ“¦ version 4.4.0, in nixpkgs unstable

πŸ’… __gnu_para...GlobalData(3) β€” Library Functions Manual πŸŽ€

okay so bestie, welcome to the group chat for __gnu_parallel::DRandomShufflingGlobalData β€” it's a libstdc++ page, and it's basically the shared notes doc that every thread reads from when they're doing a parallel_random_shuffle(). everyone gets a copy, nobody gatekeeps. slay. ✨


✨ NAME ✨

__gnu_parallel::DRandomShufflingGlobalData β€” the data that's known to every single thread participating in __gnu_parallel::parallel_random_shuffle(). it's giving "shared group chat, everyone's caught up." πŸ’–


🌸 SYNOPSIS 🌸

πŸ¦‹ Public Types

  • typedef traits_type::difference_type difference_type β€” the difference type, inherited straight from traits_type. icon behavior.
  • typedef std::iterator_traits< RandomAccessIterator > traits_type β€” the iterator traits for RandomAccessIterator.
  • typedef traits_type::value_type value_type β€” the value type, also riding on traits_type.

πŸŽ€ Public Member Functions

  • DRandomShufflingGlobalData (RandomAccessIterator &_source) β€” the constructor, bestie. takes a reference to the source.

πŸ‘‘ Public Attributes

  • thread_index_t * bin_proc β€” number of the thread that will further process the corresponding bin.
  • difference_type ** dist β€” two-dimensional array holding the thread-bin distribution.
  • int num_bins β€” number of bins to distribute to.
  • int num_bits β€” number of bits needed to address the bins.
  • RandomAccessIterator & source β€” begin iterator of the source.
  • difference_type * starts β€” start indexes of the threads' chunks.
  • value_type ** temporaries β€” temporary arrays for each thread.

🌈 Detailed Description 🌈

template<typename RandomAccessIterator> struct
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >

Data known to every thread participating in __gnu_parallel::parallel_random_shuffle().

fr fr, that's the whole vibe β€” a templated struct on RandomAccessIterator, and it's the shared state everyone's working off. Definition at line 52 of file random_shuffle.h. periodt. πŸ’…


🧚 Constructor & Destructor Documentation 🧚

⭐ DRandomShufflingGlobalData

template<typename RandomAccessIterator>
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::DRandomShufflingGlobalData (RandomAccessIterator & _source) [inline]

Constructor. that's it, that's the whole note β€” it's [inline], it takes _source, and it does constructor things. no cap.

Definition at line 83 of file random_shuffle.h. 🫢


πŸ’œ Member Data Documentation πŸ’œ

πŸ“ bin_proc

template<typename RandomAccessIterator> thread_index_t*
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::bin_proc

Number of the thread that will further process the corresponding bin.

Definition at line 74 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs().

πŸ¦‹ dist

template<typename RandomAccessIterator> difference_type**
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator >::dist

Two-dimensional array to hold the thread-bin distribution.

Dimensions (num_threads + 1) x (num_bins + 1). love a little grid moment. πŸ”₯

Definition at line 67 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

πŸŽ€ num_bins

template<typename RandomAccessIterator> int
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::num_bins

Number of bins to distribute to.

Definition at line 77 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

🌟 num_bits

template<typename RandomAccessIterator> int
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::num_bits

Number of bits needed to address the bins.

Definition at line 80 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

πŸ’– source

template<typename RandomAccessIterator> RandomAccessIterator&
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::source

Begin iterator of the source.

Definition at line 59 of file random_shuffle.h.

lowkey iconic that this one has no "Referenced by" list. it's just out here living its truth. πŸ™ˆ

🌸 starts

template<typename RandomAccessIterator> difference_type*
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::starts

Start indexes of the threads' chunks.

Definition at line 70 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::parallel_random_shuffle_drs_pu().

🧚 temporaries

template<typename RandomAccessIterator> value_type**
    __gnu_parallel::DRandomShufflingGlobalData< RandomAccessIterator
    >::temporaries

Temporary arrays for each thread.

Definition at line 62 of file random_shuffle.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs().


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libstdc++ from the source code. not a human, just a robot doing its lil thing. we respect it. πŸ€–βœ¨


ok that's the whole page bestie, you ate. go forth and shuffle randomly, in parallel, with all your threads on the same page. πŸ’…πŸ¦‹

signed, sealed, delivered by libstdc++, dated 21 Apr 2009 β€” yeah she's an old queen but she still slays. πŸŒˆπŸ’–

πŸ“¦ where this page comes from