diff options
author | Patrick Simianer <p@simianer.de> | 2014-09-16 10:23:14 +0100 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-09-16 10:23:14 +0100 |
commit | 129a22cfcc7651daa4b11ed52e7870249f6373a5 (patch) | |
tree | 78de4649396ab0d37a325b7598f9873c2d65f4c9 /src/semiring.hh | |
parent | df70006a07fb67b17fb39aa56762c50c2e7b8131 (diff) |
spring cleaning
Diffstat (limited to 'src/semiring.hh')
-rw-r--r-- | src/semiring.hh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/semiring.hh b/src/semiring.hh new file mode 100644 index 0000000..3f4ac08 --- /dev/null +++ b/src/semiring.hh @@ -0,0 +1,35 @@ +#pragma once + + +namespace Semiring { + +template<typename T> +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 +Viterbi<T>::add(T x, T y) +{ + return max(x, y); +} + +template<typename T> T +Viterbi<T>::multiply(T x, T y) +{ + return x * y; +} + +template<typename T> T +Viterbi<T>::convert(T x) +{ + return (T)x; +} + +} // namespace + |