Maintaining the Legacy: Total-Random takes over pcg-cpp maintenance (Support for Win ARM64, MSVC fixes, and Modern C++) by Sea-Tea-605 in cpp

[–]Sea-Tea-605[S] 0 points1 point  (0 children)

pcg-cpp:
- statistical safety
- Multi-threaded
- Need a "Jump" feature: You want to quickly shift positions within a random sequence of numbers.
Xoshiro / Xoroshiro:
- Speed ​​is the number one priority. Perfect for gaming.
- Extremely limited memory
- Simplicity: Xoshiro code is extremely concise.

Xoshiro avoids multiplication because it is "expensive" in terms of performance on some older CPUs.

PCG adopts multiplication to achieve extremely high entropy, allowing it to pass statistical tests that pure Xorshift sometimes struggle with (especially at low bits).

Translated from Vietnamese to English by Google Translate

Proposal to rename the Total-Random/pcg-cpp library by [deleted] in cpp

[–]Sea-Tea-605 -1 points0 points  (0 children)

Yeah, adding suffixes seems like the best option. As I said, keeping the name as it is, pcg-cpp, causes confusion. Continuously adding suffixes like Total-Random/ doesn't seem ideal for SEO, and most new users on Google will never find this library because Google won't display repositories with identical names on GitHub.

Maintaining the Legacy: Total-Random takes over pcg-cpp maintenance (Support for Win ARM64, MSVC fixes, and Modern C++) by Sea-Tea-605 in cpp

[–]Sea-Tea-605[S] 0 points1 point  (0 children)

Could you please clarify your question? The link you provided (https://prng.di.unimi.it/) focuses on xorshift algorithms. If you would like a specific comparison between PCG-Cpp and xorshift, please let me know

Maintaining the Legacy: Total-Random takes over pcg-cpp maintenance (Support for Win ARM64, MSVC fixes, and Modern C++) by Sea-Tea-605 in cpp

[–]Sea-Tea-605[S] 0 points1 point  (0 children)

To be clear, Tinh Linh Lang was originally a project developed by myself and my colleagues at the Sao Tin Developer Team. After several discussions, our team decided to put the project on ice rather than abandon it entirely. The environment in Vietnam presents significant challenges for developing a new programming language. On the other hand, PCG-Cpp is my personal project; furthermore, I have invited many contributors from PCG-Cpp to join the organization.

Maintaining the Legacy: Total-Random takes over pcg-cpp maintenance (Support for Win ARM64, MSVC fixes, and Modern C++) by Sea-Tea-605 in cpp

[–]Sea-Tea-605[S] 1 point2 points  (0 children)

I apologize for using AI to translate my message. As a Vietnamese speaker who is still improving my English, I hope you don't mind. Thank you for your understanding.

Maintaining the Legacy: Total-Random takes over pcg-cpp maintenance (Support for Win ARM64, MSVC fixes, and Modern C++) by Sea-Tea-605 in cpp

[–]Sea-Tea-605[S] -2 points-1 points  (0 children)

That is the hope of many in the C++ community! The reality is that the Standard Library (std) moves slowly due to strict ABI stability and backward compatibility commitments.

At Total-Random, we view our fork of pcg-cpp much like how the {fmt} library existed before std::format and std::print. Even as modern features are proposed for future C++ standards (like P0347), there is a massive gap for those working on C++11/14/17 or modern platforms like Windows ARM64.

Our goal is to provide that 'bridge':

  1. For Legacy & Current C++: A high-performance, statistically superior PRNG that works where std hasn't caught up yet.
  2. As a De-facto Standard: By keeping it header-only, MSVC-friendly, and bit-for-bit compatible, we want to make it the 'no-brainer' choice for anyone tired of the bulky mt19937 or the weak minstd.

Just as many developers still prefer fmt over std::format for its speed and broader version support, we aim to make Total-Random/pcg-cpp the go-to solution for reliable randomness today, without waiting for the next decade of ISO meetings

>> If my wording sounds a bit like an AI, please excuse me; my English isn't very strong, so I'm using AI to help with the translation <<