presage 0.9.1
dummyPredictor.cpp
Go to the documentation of this file.
1
2/******************************************************
3 * Presage, an extensible predictive text entry system
4 * ---------------------------------------------------
5 *
6 * Copyright (C) 2008 Matteo Vescovi <matteo.vescovi@yahoo.co.uk>
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 *
22 **********(*)*/
23
24
25#include "dummyPredictor.h"
26
27
30 ct,
31 name,
32 "DummyPredictor, a fake predictor",
33 "DummyPredictor is a fake predictor.\n"
34 "It does not perform any actual computation nor implement any prediction mechanism.\n"
35 "It always returns the same sample prediction.\n")
36{}
37
39{}
40
41Prediction DummyPredictor::predict(const size_t max_partial_predictions_size, const char** filter) const
42{
43 // A real predictor would query its resources to retrieve the most
44 // probable completion of the prefix based on the current history,
45 // but this is just a dummy predictor that returns random suggestions.
46 //
47 Prediction result;
48
49 result.addSuggestion (Suggestion("foo1", 0.99));
50 result.addSuggestion (Suggestion("foo2", 0.98));
51 result.addSuggestion (Suggestion("foo3", 0.97));
52 result.addSuggestion (Suggestion("foo4", 0.96));
53 result.addSuggestion (Suggestion("foo5", 0.95));
54 result.addSuggestion (Suggestion("foo6", 0.94));
55
56 result.addSuggestion (Suggestion("bar1", 0.89));
57 result.addSuggestion (Suggestion("bar2", 0.88));
58 result.addSuggestion (Suggestion("bar3", 0.87));
59 result.addSuggestion (Suggestion("bar4", 0.86));
60 result.addSuggestion (Suggestion("bar5", 0.85));
61 result.addSuggestion (Suggestion("bar6", 0.84));
62
63 result.addSuggestion (Suggestion("foobar1", 0.79));
64 result.addSuggestion (Suggestion("foobar2", 0.78));
65 result.addSuggestion (Suggestion("foobar3", 0.77));
66 result.addSuggestion (Suggestion("foobar4", 0.76));
67 result.addSuggestion (Suggestion("foobar5", 0.75));
68 result.addSuggestion (Suggestion("foobar6", 0.74));
69
70 return result;
71}
72
73void DummyPredictor::learn(const std::vector<std::string>& change)
74{
75 std::cout << "DummyPredictor::learn() method called" << std::endl;
76 std::cout << "DummyPredictor::learn() method exited" << std::endl;
77}
Tracks user interaction and context.
virtual void learn(const std::vector< std::string > &change)
DummyPredictor(Configuration *, ContextTracker *, const char *)
virtual Prediction predict(const size_t size, const char **filter) const
Generate prediction.
void addSuggestion(Suggestion)
Definition: prediction.cpp:90
std::string config
Definition: presageDemo.cpp:70