Mailing List Archive

r3690 - in trunk: c_src/KinoSearch perl/lib perl/lib/KinoSearch
Author: creamyg
Date: 2008-08-02 12:07:00 -0700 (Sat, 02 Aug 2008)
New Revision: 3690

Modified:
trunk/c_src/KinoSearch/FieldSpec.bp
trunk/c_src/KinoSearch/FieldSpec.c
trunk/perl/lib/KinoSearch.pm
trunk/perl/lib/KinoSearch/FieldSpec.pm
Log:
Port FieldSpec instance methods to C.


Modified: trunk/c_src/KinoSearch/FieldSpec.bp
===================================================================
--- trunk/c_src/KinoSearch/FieldSpec.bp 2008-08-02 18:45:44 UTC (rev 3689)
+++ trunk/c_src/KinoSearch/FieldSpec.bp 2008-08-02 19:07:00 UTC (rev 3690)
@@ -27,6 +27,27 @@
abstract incremented Posting*
Posting(FieldSpec *self, Similarity *sim);

+ public float
+ Boost(FieldSpec *self);
+
+ public abstract bool_t
+ Indexed(FieldSpec *self);
+
+ public abstract bool_t
+ Stored(FieldSpec *self);
+
+ public abstract bool_t
+ Analyzed(FieldSpec *self);
+
+ public abstract bool_t
+ Vectorized(FieldSpec *self);
+
+ public abstract bool_t
+ Binary(FieldSpec *self);
+
+ public abstract bool_t
+ Compressed(FieldSpec *self);
+
void
Destroy(FieldSpec *self);
}

Modified: trunk/c_src/KinoSearch/FieldSpec.c
===================================================================
--- trunk/c_src/KinoSearch/FieldSpec.c 2008-08-02 18:45:44 UTC (rev 3689)
+++ trunk/c_src/KinoSearch/FieldSpec.c 2008-08-02 19:07:00 UTC (rev 3690)
@@ -4,7 +4,6 @@
#include "KinoSearch/Posting.h"
#include "KinoSearch/Analysis/Analyzer.h"
#include "KinoSearch/Search/Similarity.h"
-#include "KinoSearch/Util/Native.h"

FieldSpec*
FSpec_new(const CharBuf *class_name)
@@ -17,13 +16,13 @@
FSpec_init(FieldSpec *self)
{
/* Cache values. */
- self->boost = Native_callback_f(self, "boost", 0);
- self->indexed = Native_callback_i(self, "indexed", 0);
- self->stored = Native_callback_i(self, "stored", 0);
- self->analyzed = Native_callback_i(self, "analyzed", 0);
- self->vectorized = Native_callback_i(self, "vectorized", 0);
- self->binary = Native_callback_i(self, "binary", 0);
- self->compressed = Native_callback_i(self, "compressed", 0);
+ self->boost = FSpec_Boost(self);
+ self->indexed = FSpec_Indexed(self);
+ self->stored = FSpec_Stored(self);
+ self->analyzed = FSpec_Analyzed(self);
+ self->vectorized = FSpec_Vectorized(self);
+ self->binary = FSpec_Binary(self);
+ self->compressed = FSpec_Compressed(self);

ABSTRACT_CLASS_CHECK(self, FIELDSPEC);
return self;
@@ -35,6 +34,13 @@
FREE_OBJ(self);
}

+float
+FSpec_boost(FieldSpec *self)
+{
+ UNUSED_VAR(self);
+ return 1.0f;
+}
+
/* Copyright 2007-2008 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify

Modified: trunk/perl/lib/KinoSearch/FieldSpec.pm
===================================================================
--- trunk/perl/lib/KinoSearch/FieldSpec.pm 2008-08-02 18:45:44 UTC (rev 3689)
+++ trunk/perl/lib/KinoSearch/FieldSpec.pm 2008-08-02 19:07:00 UTC (rev 3690)
@@ -4,6 +4,24 @@

__END__

+__AUTO_XS__
+
+{ "KinoSearch::FieldSpec" => {
+ bind_methods => [.
+ qw(
+ boost
+ indexed
+ stored
+ analyzed
+ vectorized
+ binary
+ compressed
+ )
+ ],
+ make_constructors => ["new"],
+ }
+}
+
__XS__

MODULE = KinoSearch PACKAGE = KinoSearch::FieldSpec

Modified: trunk/perl/lib/KinoSearch.pm
===================================================================
--- trunk/perl/lib/KinoSearch.pm 2008-08-02 18:45:44 UTC (rev 3689)
+++ trunk/perl/lib/KinoSearch.pm 2008-08-02 19:07:00 UTC (rev 3690)
@@ -326,20 +326,6 @@
}

{
- package KinoSearch::FieldSpec;
- use KinoSearch::Search::Similarity;
-
- sub boost {1.0}
- sub indexed { shift->abstract_death }
- sub stored { shift->abstract_death }
- sub analyzed { shift->abstract_death }
- sub vectorized { shift->abstract_death }
- sub binary { shift->abstract_death }
- sub compressed { shift->abstract_death }
- sub sortsub { shift->abstract_death }
-}
-
-{
package KinoSearch::FieldSpec::text;
BEGIN { our @ISA = 'KinoSearch::FieldSpec' }
use KinoSearch::Util::ToolSet qw( confess a_isa_b );


_______________________________________________
kinosearch-commits mailing list
kinosearch-commits@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch-commits