character_set 1.6.0-java → 1.8.0-java
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.
- checksums.yaml +4 -4
 - data/.github/workflows/gouteur.yml +1 -1
 - data/.github/workflows/lint.yml +1 -1
 - data/.github/workflows/tests.yml +3 -1
 - data/.rubocop.yml +3 -0
 - data/BENCHMARK.md +32 -32
 - data/CHANGELOG.md +24 -1
 - data/Gemfile +7 -6
 - data/LICENSE.txt +1 -1
 - data/README.md +3 -3
 - data/Rakefile +2 -123
 - data/character_set.gemspec +0 -7
 - data/ext/character_set/character_set.c +77 -43
 - data/lib/character_set/core_ext/regexp_ext.rb +8 -0
 - data/lib/character_set/expression_converter.rb +37 -54
 - data/lib/character_set/parser.rb +8 -4
 - data/lib/character_set/predefined_sets/assigned.cps +73 -52
 - data/lib/character_set/predefined_sets/emoji.cps +10 -9
 - data/lib/character_set/ruby_fallback/character_set_methods.rb +14 -17
 - data/lib/character_set/ruby_fallback/set_methods.rb +6 -21
 - data/lib/character_set/ruby_fallback/vendored_set_classes.rb +385 -0
 - data/lib/character_set/ruby_fallback.rb +18 -6
 - data/lib/character_set/set_method_adapters.rb +1 -1
 - data/lib/character_set/shared_methods.rb +6 -2
 - data/lib/character_set/version.rb +1 -1
 - data/tasks/benchmark.rake +20 -0
 - data/tasks/benchmarks/shared.rb +28 -0
 - data/tasks/sync_casefold_data.rake +20 -0
 - data/tasks/sync_predefined_sets.rake +9 -0
 - data/tasks/sync_ruby_spec.rake +65 -0
 - metadata +19 -28
 - data/benchmarks/shared.rb +0 -30
 - /data/{benchmarks → tasks/benchmarks}/count_in.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/cover.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/delete_in.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/keep_in.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/scan.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/used_by.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/z_add.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/z_delete.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/z_merge.rb +0 -0
 - /data/{benchmarks → tasks/benchmarks}/z_minmax.rb +0 -0
 
    
        data/benchmarks/shared.rb
    DELETED
    
    | 
         @@ -1,30 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            lib = File.expand_path('../lib', __dir__)
         
     | 
| 
       2 
     | 
    
         
            -
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            require 'benchmark/ips'
         
     | 
| 
       5 
     | 
    
         
            -
            require 'character_set'
         
     | 
| 
       6 
     | 
    
         
            -
            if RUBY_VERSION.to_f >= 3.0 && !RUBY_PLATFORM[/java/i]
         
     | 
| 
       7 
     | 
    
         
            -
              require 'sorted_set'
         
     | 
| 
       8 
     | 
    
         
            -
            else
         
     | 
| 
       9 
     | 
    
         
            -
              require 'set'
         
     | 
| 
       10 
     | 
    
         
            -
            end
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            def benchmark(caption: nil, cases: {})
         
     | 
| 
       13 
     | 
    
         
            -
              puts caption
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              report = Benchmark.ips do |x|
         
     | 
| 
       16 
     | 
    
         
            -
                cases.each do |label, callable|
         
     | 
| 
       17 
     | 
    
         
            -
                  x.report(label, &callable)
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
                x.compare!
         
     | 
| 
       20 
     | 
    
         
            -
              end
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
              return unless $store_comparison_results
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              old_stdout = $stdout.clone
         
     | 
| 
       25 
     | 
    
         
            -
              captured_stdout = StringIO.new
         
     | 
| 
       26 
     | 
    
         
            -
              $stdout = captured_stdout
         
     | 
| 
       27 
     | 
    
         
            -
              report.run_comparison
         
     | 
| 
       28 
     | 
    
         
            -
              $store_comparison_results[caption] = captured_stdout.string
         
     | 
| 
       29 
     | 
    
         
            -
              $stdout = old_stdout
         
     | 
| 
       30 
     | 
    
         
            -
            end
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |