File Coverage

blib/lib/Lingua/TermWeight/WordCounter/Lossy.pm
Criterion Covered Total %
statement 11 17 64.7
branch 0 2 0.0
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 15 25 60.0


line stmt bran cond sub pod time code
1             # SPDX-FileCopyrightText: 2014 Koichi SATOH
2             # SPDX-FileCopyrightText: 2026 Wesley Schwengle
3             #
4             # SPDX-License-Identifier: MIT
5              
6             package Lingua::TermWeight::WordCounter::Lossy;
7             our $VERSION = '0.01';
8             # ABSTRACT: Lossy word counter
9              
10 1     1   129284 use v5.26;
  1         3  
11 1     1   548 use Object::Pad;
  1         8347  
  1         15  
12 1     1   623 use Algorithm::LossyCount;
  1         9727  
  1         81  
13 1     1   7 use Carp qw(croak);
  1         3  
  1         210  
14              
15             class Lingua::TermWeight::WordCounter::Lossy {
16              
17             field $max_error_ratio : param;
18             field $counter;
19              
20             ADJUST {
21             $counter = Algorithm::LossyCount->new(max_error_ratio => $max_error_ratio);
22             }
23              
24 0     0 0   method add_count ($word) {
  0            
  0            
  0            
25 0 0         croak "word must be defined" unless defined $word;
26 0           $counter->add_sample($word);
27             }
28              
29             method clear {
30             $counter = Algorithm::LossyCount->new(max_error_ratio => $max_error_ratio);
31             }
32              
33             method counter { $counter }
34              
35             method frequencies {
36             return $counter->frequencies;
37             }
38              
39             method max_error_ratio {
40             return $max_error_ratio;
41             }
42             }
43              
44             1;
45              
46             __END__