From b090f6db27534d0bd0bbfaf068efada7b30aa5ac Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Wed, 17 Feb 2016 21:04:49 -0500 Subject: Modified kgram cut rate. It's do or die. --- kgramstats.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'kgramstats.cpp') diff --git a/kgramstats.cpp b/kgramstats.cpp index 3c5a4ee..8a21d60 100644 --- a/kgramstats.cpp +++ b/kgramstats.cpp @@ -429,18 +429,21 @@ std::string kgramstats::randomSentence(int n) if (cur.size() > 0) { - if (rand() % (maxK - cur.size() + 1) == 0) + while ((cur.size() > 1) && (cuts > 0)) { - while ((cur.size() > 1) && (cuts > 0)) + int under = maxK - cur.size(); + int tunder = i - 1; + for (int j = 0; j < under; j++) { - int under = maxK - cur.size() + 1; - if ((rand() % cuts) > (under * under)) - { - cur.pop_front(); - cuts -= under * under; - } else { - break; - } + tunder /= 2; + } + + if ((rand() % cuts) < tunder) + { + cur.pop_front(); + cuts -= under; + } else { + break; } } } -- cgit 1.4.1