diff options
author | Patrick Simianer <p@simianer.de> | 2014-07-19 08:30:43 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-07-19 08:30:43 +0200 |
commit | f219bab21c07d02e7e54d557e23387bd93c9ce5f (patch) | |
tree | 14a6e2b647a3b1ab11391c154fbcf7c63841f8db /fast/semiring.hh | |
parent | 6208c48407c359819945730006edf4c402b7ff77 (diff) |
hg io
Diffstat (limited to 'fast/semiring.hh')
-rw-r--r-- | fast/semiring.hh | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/fast/semiring.hh b/fast/semiring.hh index 2be19ea..5874e88 100644 --- a/fast/semiring.hh +++ b/fast/semiring.hh @@ -1,37 +1,36 @@ -#ifndef SEMIRING_HH -#define SEMIRING_HH -//#pragma once +#pragma once + +namespace Semiring { template<typename T> -class ViterbiSemiring { - public: - T one = 1.0; - T null = 0.0; - - T add(T x, T y); - T multiply(T x, T y); - T convert(T x); +struct Viterbi { + T one = 1.0; + T null = 0.0; + + T add(T x, T y); + T multiply(T x, T y); + T convert(T x); }; template<typename T> T -ViterbiSemiring<T>::add(T x, T y) +Viterbi<T>::add(T x, T y) { return max(x, y); } template<typename T> T -ViterbiSemiring<T>::multiply(T x, T y) +Viterbi<T>::multiply(T x, T y) { return x * y; } template<typename T> T -ViterbiSemiring<T>::convert(T x) +Viterbi<T>::convert(T x) { return (T)x; } -#endif +} // namespace |