From cbd81f086b89af9bab24716ac4ca69249bd8ab5b Mon Sep 17 00:00:00 2001 From: edwardgao Date: Mon, 25 Jan 2010 11:01:19 +0000 Subject: experimental functioanlities --- .../alignment-enabled/MGIZA/src/AlignTables.cpp | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 experimental/alignment-enabled/MGIZA/src/AlignTables.cpp (limited to 'experimental/alignment-enabled/MGIZA/src/AlignTables.cpp') diff --git a/experimental/alignment-enabled/MGIZA/src/AlignTables.cpp b/experimental/alignment-enabled/MGIZA/src/AlignTables.cpp new file mode 100644 index 0000000..de75107 --- /dev/null +++ b/experimental/alignment-enabled/MGIZA/src/AlignTables.cpp @@ -0,0 +1,44 @@ +/* + +EGYPT Toolkit for Statistical Machine Translation +Written by Yaser Al-Onaizan, Jan Curin, Michael Jahr, Kevin Knight, John Lafferty, Dan Melamed, David Purdy, Franz Och, Noah Smith, and David Yarowsky. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. + +*/ +#include "AlignTables.h" + +bool alignmodel::insert(Vector& aj, LogProb val) +{ + hash_map, LogProb, hashmyalignment, equal_to_myalignment >::iterator i; + i = a.find(aj); + if(i != a.end() || val <= 0) + return false ; + a.insert(pair, LogProb>(aj, val)); + return true ; +} + + +LogProb alignmodel::getValue(Vector& align) const +{ + const LogProb zero = 0.0 ; + hash_map, LogProb, hashmyalignment, equal_to_myalignment >::const_iterator i; + i = a.find(align); + if(i == a.end()) + return zero; + else + return (*i).second; +} -- cgit v1.2.3