bayon 0.1.1 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -184,8 +184,8 @@ class CBayonAnalyzer {
184
184
  Data_Get_Struct(self, CBayonAnalyzer, p);
185
185
 
186
186
  if(p->analyzer_->get_next_result(cluster)) {
187
- std::vector< std::pair<bayon::Document *, double> > pairs;
188
- cluster.sorted_documents(pairs);
187
+ documents pairs;
188
+ cluster.sorted_documents(pairs);
189
189
  VALUE docids = rb_ary_new2(pairs.size());
190
190
 
191
191
  for(documents::const_iterator i = pairs.begin(); i != pairs.end(); i++) {
@@ -36,6 +36,10 @@
36
36
  #define __F(f) (reinterpret_cast<VALUE (*)(...)>(f))
37
37
  #endif
38
38
 
39
+ #ifdef _WIN32
40
+ #define HAVE_GOOGLE_DENSE_HASH_MAP 1
41
+ #endif
42
+
39
43
  extern "C" {
40
44
  #ifdef _WIN32
41
45
  __declspec(dllexport)
@@ -1,5 +1,8 @@
1
1
  require 'mkmf'
2
2
 
3
+ Config::CONFIG['CPP'] = 'g++ -E'
4
+
3
5
  if have_library('stdc++') and have_library('bayon')
6
+ have_header('google/dense_hash_map') or have_header('ext/hash_map')
4
7
  create_makefile('bayonext')
5
8
  end
@@ -45,7 +45,26 @@ module Bayon
45
45
  end
46
46
  end
47
47
 
48
+ def delete_document(label)
49
+ @documents.delete_if {|l, f| l == label }
50
+ end
51
+
52
+ def [](label)
53
+ label, features = @documents.assoc(label)
54
+ return features
55
+ end
56
+
57
+ def labels
58
+ @documents.map {|l, f| l }
59
+ end
60
+
61
+ def clear
62
+ @documents.clear
63
+ end
64
+
48
65
  def do_clustering(method = Analyzer::REPEATED_BISECTION)
66
+ return [] if @documents.empty?
67
+
49
68
  analyzer = Analyzer.new
50
69
  analyzer.set_cluster_size_limit(@cluster_size_limit) if @cluster_size_limit
51
70
  analyzer.set_eval_limit(@eval_limit) if @eval_limit
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bayon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 4
9
+ version: 0.1.4
5
10
  platform: ruby
6
11
  authors:
7
12
  - winebarrel
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-06-24 00:00:00 +09:00
17
+ date: 2010-05-27 00:00:00 +09:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -30,6 +35,8 @@ files:
30
35
  - COPYING
31
36
  has_rdoc: true
32
37
  homepage: http://bayon.rubyforge.org
38
+ licenses: []
39
+
33
40
  post_install_message:
34
41
  rdoc_options:
35
42
  - --title
@@ -40,20 +47,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
40
47
  requirements:
41
48
  - - ">="
42
49
  - !ruby/object:Gem::Version
50
+ segments:
51
+ - 0
43
52
  version: "0"
44
- version:
45
53
  required_rubygems_version: !ruby/object:Gem::Requirement
46
54
  requirements:
47
55
  - - ">="
48
56
  - !ruby/object:Gem::Version
57
+ segments:
58
+ - 0
49
59
  version: "0"
50
- version:
51
60
  requirements: []
52
61
 
53
62
  rubyforge_project: bayon
54
- rubygems_version: 1.3.1
63
+ rubygems_version: 1.3.6
55
64
  signing_key:
56
- specification_version: 2
65
+ specification_version: 3
57
66
  summary: Ruby bindings for bayon.
58
67
  test_files: []
59
68