Library: adapt some existing usages to the convenience API

This commit is contained in:
Fischlurch 2024-11-12 22:35:54 +01:00
parent 2883a8619f
commit 064484450e
6 changed files with 33 additions and 30 deletions

View file

@ -160,10 +160,6 @@ namespace lib {
return dist (defaultGen.generator_);
}
/// @deprecated
inline uint64_t ranu() { return defaultGen.u64(); }
inline double runi() { return defaultGen.uni(); }
/** inject true randomness into the #defaultGen */
void randomiseRandomness();

View file

@ -113,6 +113,11 @@ namespace test {
using ::test::Arg;
using ::test::Test;
using ::test::Launch;
using lib::rani;
using lib::ranHash;
using lib::ranRange;
using lib::ranNormal;
using lib::defaultGen;
// and provide shortcut for registration
#define LAUNCHER(_TEST_CLASS_, _GROUPS_) \

View file

@ -39,7 +39,6 @@ namespace steam {
namespace engine{
namespace test {
using lib::ranu;
namespace {
/** uninitialised local storage that can be passed
@ -66,7 +65,7 @@ namespace test {
virtual void
run (Arg)
{
lib::randomiseRandomness(); // inject entropy sees
seedRand();
processing_generateFrame();
processing_generateMultichan();
@ -78,8 +77,8 @@ namespace test {
void
processing_generateFrame()
{
size_t frameNr = ranu();
uint flavour = uint(ranu());
size_t frameNr = defaultGen.u64();
uint flavour = defaultGen.u64();
Buffer buff;
CHECK (not buff->isSane());
@ -95,10 +94,10 @@ namespace test {
void
processing_generateMultichan()
{
size_t frameNr = ranu();
uint flavour = uint(ranu());
size_t frameNr = defaultGen.u64();
uint flavour = defaultGen.u64();
uint channels = uint(1 + ranu() % 50);
uint channels = 1 + rani(50);
CHECK (1 <= channels and channels <= 50);
Buffer buffs[50];

View file

@ -58,6 +58,8 @@ namespace test {
virtual void
run (Arg)
{
seedRand();
build_connected_nodes();
generate_turnout_system();
trigger_node_port_invocation();

View file

@ -165,7 +165,7 @@ namespace test{
void
check_TimeSeriesLinearRegression()
{
auto dirt = [] { return runi() - 0.5; };
auto dirt = [] { return ranRange(-0.5,+0.5); };
auto fun = [&](uint i){ auto x = double(i)/NUM_POINTS;
return x*x;
};

View file

@ -57246,7 +57246,7 @@
</html></richcontent>
</node>
</node>
<node COLOR="#435e98" CREATED="1731118832589" ID="ID_732098473" MODIFIED="1731424338038" TEXT="brauche eine reseed()-Operation um einen Seed wiederherzustellen">
<node COLOR="#435e98" CREATED="1731118832589" FOLDED="true" ID="ID_732098473" MODIFIED="1731447177353" TEXT="brauche eine reseed()-Operation um einen Seed wiederherzustellen">
<icon BUILTIN="yes"/>
<node CREATED="1731118937690" ID="ID_876325939" MODIFIED="1731118961825" TEXT="der C++ - Standard bietet de-facto diese Operation auf allen enthaltenen Engines"/>
<node CREATED="1731118962605" ID="ID_1749223447" MODIFIED="1731118982278" TEXT="notfalls k&#xf6;nnte man aber auch ein in-place Destroy / re-Construct machen"/>
@ -57278,13 +57278,13 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1731119762690" ID="ID_1637478235" MODIFIED="1731424344693" TEXT="Zufalls-Generator in lib::test::Test">
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1731119762690" ID="ID_1637478235" MODIFIED="1731447189143" TEXT="Zufalls-Generator in lib::test::Test">
<icon BUILTIN="forward"/>
<node CREATED="1731119858173" ID="ID_1447736454" MODIFIED="1731119870919" TEXT="verwendet einen eingebetteten SeedNucleus"/>
<node COLOR="#5b280f" CREATED="1731120003113" ID="ID_1177767927" MODIFIED="1731176382320" TEXT="jeder Aufruf erzeugt ein neues RandomSequencer-Objekt">
<icon BUILTIN="button_cancel"/>
</node>
<node COLOR="#338800" CREATED="1731119876579" ID="ID_1129580767" MODIFIED="1731421441201" TEXT="sorgt daf&#xfc;r, da&#xdf; der gezogene Seed dokumentiert wird">
<node COLOR="#338800" CREATED="1731119876579" FOLDED="true" ID="ID_1129580767" MODIFIED="1731447219909" TEXT="sorgt daf&#xfc;r, da&#xdf; der gezogene Seed dokumentiert wird">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1731120117194" ID="ID_1685729849" MODIFIED="1731120697456" TEXT="Problem: wo?">
<icon BUILTIN="help"/>
@ -57348,7 +57348,7 @@
</node>
</node>
</node>
<node CREATED="1731186827432" ID="ID_1343084270" MODIFIED="1731186876763" TEXT="nested Helper-Klassen f&#xfc;r Distributionen">
<node CREATED="1731186827432" FOLDED="true" ID="ID_1343084270" MODIFIED="1731447211350" TEXT="nested Helper-Klassen f&#xfc;r Distributionen">
<node CREATED="1731186885784" ID="ID_1137186891" MODIFIED="1731186909601" TEXT="sie bekommen optional einen Generator als ctor-Argument"/>
<node CREATED="1731186910274" ID="ID_1712434077" MODIFIED="1731186920709" TEXT="oder h&#xe4;ngen sich ansonsten an den default-Generator"/>
<node CREATED="1731186949918" ID="ID_1074918802" MODIFIED="1731187011177" TEXT="man k&#xf6;nnte das sp&#xe4;ter in ein Generatoren-Framework ausbauen">
@ -57363,8 +57363,8 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1731208110582" ID="ID_991761175" MODIFIED="1731208117297" TEXT="Implementierung">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1731208110582" FOLDED="true" ID="ID_991761175" MODIFIED="1731447199824" TEXT="Implementierung">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1731208120755" ID="ID_1347870232" MODIFIED="1731338725711" TEXT="wo wird der SeedNucleus angesiedelt?">
<icon BUILTIN="help"/>
<node CREATED="1731208158296" ID="ID_1282528205" MODIFIED="1731208169202" TEXT="von der Struktur her geh&#xf6;rt der in die Suite"/>
@ -57414,11 +57414,14 @@
<node COLOR="#338800" CREATED="1731338700848" ID="ID_1793720955" MODIFIED="1731338719820" TEXT="Log-Ausgabe beim &#xbb;ziehen&#xab; des Seed erzeugen">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1731447098880" ID="ID_67311455" MODIFIED="1731447115280" TEXT="convenience-Accessoren f&#xfc;r einige Distributionen">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node CREATED="1731424663557" ID="ID_1548490877" MODIFIED="1731424673834" TEXT="std::rand() ersetzen">
</node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1731424663557" ID="ID_1548490877" MODIFIED="1731447240469" TEXT="std::rand() ersetzen">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1731424676911" ID="ID_432733421" MODIFIED="1731424687348" TEXT="was wird ben&#xf6;tigt?">
<node COLOR="#435e98" CREATED="1731424676911" ID="ID_432733421" MODIFIED="1731447182287" TEXT="was wird ben&#xf6;tigt?">
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="help"/>
<node CREATED="1731424690509" ID="ID_1222355432" MODIFIED="1731424715317" TEXT="test::randStr()"/>
@ -57454,7 +57457,7 @@
</html></richcontent>
</node>
<node CREATED="1731428047688" ID="ID_35787864" MODIFIED="1731428068259" TEXT="per default ist der Bereich [0 ... numeric_limits::max]"/>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1731428069970" ID="ID_282614053" MODIFIED="1731428077830" TEXT="Achtung: closed-Interval">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1731428069970" ID="ID_282614053" MODIFIED="1731447081721" TEXT="Achtung: closed-Interval">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1731428080621" ID="ID_168543776" MODIFIED="1731428095640" TEXT="im Gegensatz dazu liefert der Modulo-Trick ein offenes Interval">
<icon BUILTIN="clanbomber"/>
@ -57467,8 +57470,7 @@
an einigen wenigen Stellen wird eigens daf&#252;r gesorgt, da&#223; die grenz inclusiv ist
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
</node>
</node>
@ -57485,8 +57487,7 @@
<font face="Monospaced" color="#1312bf"><b>rani</b></font><font face="Monospaced" color="#50507b">(</font><font face="Monospaced" color="#69507b">max</font><font face="Monospaced" color="#50507b">)</font>
</p>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1731433623983" ID="ID_1594131908" MODIFIED="1731433628226" TEXT="es ist ein int"/>
<node CREATED="1731433629215" ID="ID_1630650197" MODIFIED="1731433643792" TEXT="Obergrenze exclusiv"/>
@ -57509,13 +57510,13 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1731434498664" ID="ID_33884738" MODIFIED="1731434636107" TEXT="Umstellung">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1731434503085" ID="ID_779294881" MODIFIED="1731441344340" TEXT="API-Umstellungen">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1731434498664" ID="ID_33884738" MODIFIED="1731447066871" TEXT="Umstellung">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1731434503085" ID="ID_779294881" MODIFIED="1731447063509" TEXT="API-Umstellungen">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1731434516153" ID="ID_1079673401" MODIFIED="1731434633528" TEXT="bestehende Verwendungen anpassen">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1731434516153" ID="ID_1079673401" MODIFIED="1731447064585" TEXT="bestehende Verwendungen anpassen">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1731434530901" ID="ID_81651492" MODIFIED="1731434633527" TEXT="rand() abl&#xf6;sen in Core">
<icon BUILTIN="flag-yellow"/>