| 137 | } |
| 138 | |
| 139 | Float* getTopicLikelihoods(_ModelState& ld) const |
| 140 | { |
| 141 | const size_t V = this->realV; |
| 142 | const auto K = ld.numByTopic.size(); |
| 143 | ld.topicLikelihood.resize(K + 1); |
| 144 | ld.topicLikelihood.head(K) = ld.zLikelihood.head(K).array().template cast<Float>() * ld.numTableByTopic.array().template cast<Float>(); |
| 145 | ld.topicLikelihood[K] = ld.zLikelihood[K] * gamma; |
| 146 | sample::prefixSum(ld.topicLikelihood.data(), ld.topicLikelihood.size()); |
| 147 | return &ld.topicLikelihood[0]; |
| 148 | } |
| 149 | |
| 150 | template<int _inc> |
| 151 | inline void addOnlyWordTo(_ModelState& ld, _DocType& doc, uint32_t pid, Vid vid, Tid tid) const |