From c92d46ed9211ba35bb53fb548840d030090fa113 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Thu, 25 May 2023 15:36:36 -0700 Subject: [PATCH] fix: miniInfraBayes with interleaved sequence errors. --- src/compute_constrained_bayes | Bin 177600 -> 182760 bytes src/compute_constrained_bayes.nim | 31 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/compute_constrained_bayes b/src/compute_constrained_bayes index 0b09fbaa360e11c54c53b1381380bd9ac22dd155..9fb4943d4a7132d0ea2003c402dbbdcf5a38b800 100755 GIT binary patch delta 55589 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 IpO@YK4?t9dY5)KL delta 50523 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 M2j-Y*dv&jW1N#q49RL6T diff --git a/src/compute_constrained_bayes.nim b/src/compute_constrained_bayes.nim index cc1f36d..594370c 100644 --- a/src/compute_constrained_bayes.nim +++ b/src/compute_constrained_bayes.nim @@ -163,7 +163,7 @@ proc jitBayesLoop( ## Infrabayesianism -proc miniInfraBayes( +proc miniInfraBayesArgminMaxLoss( seqs: seq[seq[string]], observations: seq[string], n_observations_seen: int, @@ -195,18 +195,29 @@ proc miniInfraBayes( proc getEvens(xs: seq[string]): seq[string] = var evens: seq[string] for i,x in xs: - if i%2 == 0: + if i mod 2 == 0: evens.add(x) return evens proc getOdds(xs: seq[string]): seq[string] = var odds: seq[string] for i,x in xs: - if i%2 == 1: + if i mod 2 == 1: odds.add(x) return odds -proc miniInfraBayes2( +proc interleave(xs: seq[string], ys: seq[string]): seq[string] = + if xs.len != ys.len: + echo "Interleaved sequences have to have the same length; returning empty sequence." + return @[] + else: + var zs: seq[string] + for i in 0..