///////////////////////////////////////////////////////////////////////
// File:        permngram.h
// Description: Character n-gram permuter
// Author:      Thomas Kielbus
// Created:     Wed Sep 12 11:26:42 PDT 2007
//
// (C) Copyright 2007, Google Inc.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
///////////////////////////////////////////////////////////////////////

#ifndef PERMNGRAM_H
#define PERMNGRAM_H

#include "choicearr.h"
#include "dawg.h"

// Permute the given char_choices using a character level n-gram model and
// return the best word choice found. The given dawg is used to determine
// which choices are contained in the dictionary.
A_CHOICE *ngram_permute_and_select(CHOICES_LIST char_choices,
                                   float rating_limit,
                                   EDGE_ARRAY dawg);

#endif  // PERMNGRAM_H
