From 0b367a4542e49819d3ada479226bcf043d888716 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 21 Oct 2024 18:42:10 +0200 Subject: [PATCH] Add method to get random bias --- .../Settings/DataModel/BiasCatalog.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs b/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs index 16f46cb2..2faf65c8 100644 --- a/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs +++ b/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs @@ -5909,4 +5909,23 @@ public static class BiasCatalog { IMPLICIT_STEREOTYPES.Id, IMPLICIT_STEREOTYPES }, { IMPLICIT_ASSOCIATIONS.Id, IMPLICIT_ASSOCIATIONS }, }; + + public static Bias GetRandomBias(ref IList usedBias) + { + if(usedBias.Count >= ALL_BIAS.Count) + usedBias.Clear(); + + int randomBiasIndex; + lock (RANDOM) + { + randomBiasIndex = RANDOM.Next(0, ALL_BIAS.Count); + while(usedBias.Contains(randomBiasIndex)) + randomBiasIndex = RANDOM.Next(0, ALL_BIAS.Count); + } + + usedBias.Add(randomBiasIndex); + return ALL_BIAS.Values.ElementAt(randomBiasIndex); + } + + private static readonly Random RANDOM = new(); } \ No newline at end of file