9 return (static_cast<Xapian::InternalStemFinnish *>(this_ptr))->r_VI();
13 return (static_cast<Xapian::InternalStemFinnish *>(this_ptr))->r_LONG();
36 'k', 0xC3, 0xA4, 0xC3, 0xA4,
'n',
49 #define s_1_3 (s_1_4 + 1) 60 #define s_2_3 (s_2_4 + 1) 98 0xC3, 0xA4, 0xC3, 0xA4,
100 0xC3, 0xB6, 0xC3, 0xB6,
101 #define s_6_0 (s_6_1 + 2) 108 #define s_6_4 (s_6_5 + 1) 139 'h', 0xC3, 0xA4,
'n',
141 'h', 0xC3, 0xB6,
'n',
142 #define s_6_22 (s_6_20 + 1) 144 'l',
'l', 0xC3, 0xA4,
148 's',
's', 0xC3, 0xA4,
149 #define s_6_26 (s_6_27 + 1) 151 'l',
't', 0xC3, 0xA4,
153 's',
't', 0xC3, 0xA4,
155 't',
't', 0xC3, 0xA4,
158 #define s_7_1 (s_7_2 + 1) 161 #define s_7_3 (s_7_4 + 1) 164 #define s_7_5 (s_7_6 + 1) 167 #define s_7_7 (s_7_8 + 1) 171 'e',
'j', 0xC3, 0xA4,
172 #define s_7_10 (s_7_11 + 1) 174 'i',
'm',
'm', 0xC3, 0xA4,
175 #define s_7_12 (s_7_13 + 1) 177 'i',
'm',
'p', 0xC3, 0xA4,
182 #define s_9_0 (s_9_1 + 1) 292 static const unsigned char af_6[30] =
359 static const unsigned char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 };
361 static const unsigned char g_V1[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
363 static const unsigned char g_V2[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
365 static const unsigned char g_particle_end[] = { 17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
380 if (ret < 0)
return 0;
385 if (ret < 0)
return 0;
391 if (ret < 0)
return 0;
396 if (ret < 0)
return 0;
404 if (!(
I_p2 <=
c))
return 0;
412 if (
c <
I_p1)
return 0;
416 if (!(among_var)) {
lb = mlimit1;
return 0; }
426 if (ret <= 0)
return ret;
431 if (ret < 0)
return ret;
440 if (
c <
I_p1)
return 0;
444 if (!(among_var)) {
lb = mlimit1;
return 0; }
450 {
int m2 =
l -
c; (void)m2;
451 if (c <=
lb ||
p[c - 1] !=
'k')
goto lab0;
458 if (ret < 0)
return ret;
463 if (ret < 0)
return ret;
469 if (ret < 0)
return ret;
474 if (ret < 0)
return ret;
478 if (
c - 1 <=
lb ||
p[
c - 1] != 97)
return 0;
481 if (ret < 0)
return ret;
485 if (
c - 2 <=
lb ||
p[
c - 1] != 164)
return 0;
488 if (ret < 0)
return ret;
492 if (
c - 2 <=
lb ||
p[
c - 1] != 101)
return 0;
495 if (ret < 0)
return ret;
508 if (
c <=
lb ||
p[
c - 1] !=
'i')
return 0;
518 if (
c <
I_p1)
return 0;
522 if (!(among_var)) {
lb = mlimit1;
return 0; }
528 if (
c <=
lb ||
p[
c - 1] !=
'a')
return 0;
532 if (
c <=
lb ||
p[
c - 1] !=
'e')
return 0;
536 if (
c <=
lb ||
p[
c - 1] !=
'i')
return 0;
540 if (
c <=
lb ||
p[
c - 1] !=
'o')
return 0;
550 {
int m2 =
l -
c; (void)m2;
551 {
int m3 =
l -
c; (void)m3;
552 {
int m4 =
l -
c; (void)m4;
554 if (ret == 0)
goto lab2;
555 if (ret < 0)
return ret;
560 if (!(
eq_s_b(2,
s_4))) { c =
l - m2;
goto lab0; }
565 if (ret < 0) { c =
l - m2;
goto lab0; }
580 if (ret < 0)
return ret;
590 if (
c <
I_p2)
return 0;
594 if (!(among_var)) {
lb = mlimit1;
return 0; }
600 {
int m2 =
l -
c; (void)m2;
609 if (ret < 0)
return ret;
617 if (
c <
I_p1)
return 0;
620 if (
c <=
lb || (
p[
c - 1] != 105 &&
p[
c - 1] != 106)) {
lb = mlimit1;
return 0; }
626 if (ret < 0)
return ret;
635 if (
c <
I_p1)
return 0;
638 if (
c <=
lb ||
p[
c - 1] !=
't') {
lb = mlimit1;
return 0; }
641 {
int m_test2 =
l -
c;
646 if (ret < 0)
return ret;
652 if (
c <
I_p2)
return 0;
655 if (
c - 2 <=
lb ||
p[
c - 1] != 97) {
lb = mlimit3;
return 0; }
657 if (!(among_var)) {
lb = mlimit3;
return 0; }
663 {
int m4 =
l -
c; (void)m4;
672 if (ret < 0)
return ret;
680 if (
c <
I_p1)
return 0;
682 {
int m2 =
l -
c; (void)m2;
683 {
int m3 =
l -
c; (void)m3;
685 if (ret == 0)
goto lab0;
686 if (ret < 0)
return ret;
691 if (ret < 0)
goto lab0;
696 if (ret < 0)
return ret;
702 {
int m4 =
l -
c; (void)m4;
708 if (ret < 0)
return ret;
713 {
int m5 =
l -
c; (void)m5;
715 if (c <=
lb ||
p[c - 1] !=
'j')
goto lab2;
718 {
int m6 =
l -
c; (void)m6;
719 if (c <=
lb ||
p[c - 1] !=
'o')
goto lab4;
724 if (c <=
lb ||
p[c - 1] !=
'u')
goto lab2;
729 if (ret < 0)
return ret;
734 {
int m7 =
l -
c; (void)m7;
736 if (c <=
lb ||
p[c - 1] !=
'o')
goto lab5;
739 if (c <=
lb ||
p[c - 1] !=
'j')
goto lab5;
742 if (ret < 0)
return ret;
752 if (ret < 0)
return 0;
757 if (ret == 0)
return -1;
762 if (ret < 0)
return ret;
770 if (ret < 0)
return ret;
777 {
int m2 =
l -
c; (void)m2;
779 if (ret < 0)
return ret;
783 {
int m3 =
l -
c; (void)m3;
785 if (ret < 0)
return ret;
789 {
int m4 =
l -
c; (void)m4;
791 if (ret < 0)
return ret;
795 {
int m5 =
l -
c; (void)m5;
797 if (ret < 0)
return ret;
803 {
int m6 =
l -
c; (void)m6;
805 if (ret < 0)
return ret;
811 {
int m7 =
l -
c; (void)m7;
813 if (ret < 0)
return ret;
818 {
int m8 =
l -
c; (void)m8;
820 if (ret < 0)
return ret;
static const among_function af[2]
unsigned char I_ending_removed
int find_among_b(const symbol *pool, const struct among *v, int v_size, const unsigned char *fnum, const among_function *f)
static const struct among a_2[6]
static const struct among a_5[7]
int eq_v_b(const symbol *v)
static const unsigned char g_AEI[]
int eq_s_b(int s_size, const symbol *s)
static const struct among a_9[2]
static const symbol s_0[]
static const symbol s_1[]
static const struct among a_6[30]
static const symbol s_6[]
static const struct among a_0[10]
symbol * slice_to(symbol *v)
int slice_from_s(int s_size, const symbol *s)
static const symbol s_pool[]
static const unsigned char g_particle_end[]
static const struct among a_4[9]
static const unsigned char g_V2[]
int(* among_function)(Xapian::StemImplementation *)
static const symbol s_5[]
static const struct among a_1[6]
static const struct among a_8[2]
Class representing a stemming algorithm implementation.
static const struct among a_3[2]
static const struct among a_7[14]
static int skip_utf8(const symbol *p, int c, int lb, int l, int n)
static const unsigned char g_V1[]
std::string get_description() const
Return a string describing this object.
int in_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
static const symbol s_3[]
static const unsigned char af_6[30]
int out_grouping_b_U(const unsigned char *s, int min, int max, int repeat)
static int tr_VI(Xapian::StemImplementation *this_ptr)
static const symbol s_4[]
static symbol * create_s()
int out_grouping_U(const unsigned char *s, int min, int max, int repeat)
int stem()
Virtual method implemented by the subclass to actually do the work.
int in_grouping_U(const unsigned char *s, int min, int max, int repeat)
static int tr_LONG(Xapian::StemImplementation *this_ptr)
static const symbol s_2[]