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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/gouteur.yml +1 -1
  3. data/.github/workflows/lint.yml +1 -1
  4. data/.github/workflows/tests.yml +3 -1
  5. data/.rubocop.yml +3 -0
  6. data/BENCHMARK.md +32 -32
  7. data/CHANGELOG.md +24 -1
  8. data/Gemfile +7 -6
  9. data/LICENSE.txt +1 -1
  10. data/README.md +3 -3
  11. data/Rakefile +2 -123
  12. data/character_set.gemspec +0 -7
  13. data/ext/character_set/character_set.c +77 -43
  14. data/lib/character_set/core_ext/regexp_ext.rb +8 -0
  15. data/lib/character_set/expression_converter.rb +37 -54
  16. data/lib/character_set/parser.rb +8 -4
  17. data/lib/character_set/predefined_sets/assigned.cps +73 -52
  18. data/lib/character_set/predefined_sets/emoji.cps +10 -9
  19. data/lib/character_set/ruby_fallback/character_set_methods.rb +14 -17
  20. data/lib/character_set/ruby_fallback/set_methods.rb +6 -21
  21. data/lib/character_set/ruby_fallback/vendored_set_classes.rb +385 -0
  22. data/lib/character_set/ruby_fallback.rb +18 -6
  23. data/lib/character_set/set_method_adapters.rb +1 -1
  24. data/lib/character_set/shared_methods.rb +6 -2
  25. data/lib/character_set/version.rb +1 -1
  26. data/tasks/benchmark.rake +20 -0
  27. data/tasks/benchmarks/shared.rb +28 -0
  28. data/tasks/sync_casefold_data.rake +20 -0
  29. data/tasks/sync_predefined_sets.rake +9 -0
  30. data/tasks/sync_ruby_spec.rake +65 -0
  31. metadata +19 -28
  32. data/benchmarks/shared.rb +0 -30
  33. /data/{benchmarks → tasks/benchmarks}/count_in.rb +0 -0
  34. /data/{benchmarks → tasks/benchmarks}/cover.rb +0 -0
  35. /data/{benchmarks → tasks/benchmarks}/delete_in.rb +0 -0
  36. /data/{benchmarks → tasks/benchmarks}/keep_in.rb +0 -0
  37. /data/{benchmarks → tasks/benchmarks}/scan.rb +0 -0
  38. /data/{benchmarks → tasks/benchmarks}/used_by.rb +0 -0
  39. /data/{benchmarks → tasks/benchmarks}/z_add.rb +0 -0
  40. /data/{benchmarks → tasks/benchmarks}/z_delete.rb +0 -0
  41. /data/{benchmarks → tasks/benchmarks}/z_merge.rb +0 -0
  42. /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