plurimath 0.9.2 → 0.9.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e88ad9f1e0f653ba649b18558767f46e2aff74f317875248370f6df63d1f5939
4
- data.tar.gz: 06d6b2d10f0874ff134ec1879d40cd507030d2115a4a5961c1259435db160493
3
+ metadata.gz: 65b30f602bdfb128eb92f4cc3c1677585f8ec721cc3faa187b32f353486b0a10
4
+ data.tar.gz: b9babf5d6792d1f8fc6254ed59f18e48e9e8595051810c7fc2a5fbbbfa228ba2
5
5
  SHA512:
6
- metadata.gz: 606a945c8a2d9d30e242162f0bff29db50eed474f6b527b746f61d3ba7937e602e0033cfec81e92c604e49b0424c1ed0c7546ef9f77bd46d19d1c0ce59b09107
7
- data.tar.gz: 434c78d3b2731056f5ed0d94342c18acda6b4c3f851a225978139ce91cf1fd53b2e091569e1c0c61f0aea865817bcd99126eeae6578e6a83c74ae120ed9b1b69
6
+ metadata.gz: 7f8ea11095e08057dfa814d69b88348a62887d201a212c4761269e4455287ff6142e75015a7b5df83d73228af15b8e8caaf44d9e0371b6c241876994883ced15
7
+ data.tar.gz: a83989cab70e5d880f06e46a027aaecb463286f74800a7e5f89a5ad8536afcc415a17c74687393df514fd50a1474d9d02e774e35e608d90762471a8122cf4c05
@@ -65,7 +65,7 @@ module Plurimath
65
65
  rule(:left_right) do
66
66
  (str("left") >> space? >> left_right_open_paren.as(:left) >> space? >> (iteration.maybe >> sequence.maybe).as(:left_right_value) >> space? >> str("right") >> space? >> left_right_close_paren.as(:right)) |
67
67
  ((table.as(:numerator) >> space? >> match(/(?<!\/)\/(?!\/)/) >> space? >> iteration.as(:denominator)).as(:frac) >> expression) |
68
- (table.as(:table) >> expression.maybe)
68
+ (table.as(:table) >> power_base.maybe >> expression.maybe)
69
69
  end
70
70
 
71
71
  rule(:quoted_text) do
@@ -138,7 +138,7 @@ module Plurimath
138
138
 
139
139
  rule(:iteration) do
140
140
  ternary_classes_rules |
141
- table.as(:table) |
141
+ table.as(:table) >> power_base.maybe |
142
142
  comma.as(:comma) |
143
143
  mod |
144
144
  (sequence.as(:sequence) >> space? >> str("//").as(:symbol)) |
@@ -900,6 +900,64 @@ module Plurimath
900
900
  Math::Formula.new(formula_array)
901
901
  end
902
902
 
903
+ rule(table: simple(:table),
904
+ base: simple(:base)) do
905
+ Math::Function::Base.new(table, base)
906
+ end
907
+
908
+ rule(table: simple(:table),
909
+ power: simple(:power)) do
910
+ Math::Function::Power.new(table, power)
911
+ end
912
+
913
+ rule(table: simple(:table),
914
+ power_value: simple(:power),
915
+ base_value: simple(:base)) do
916
+ Math::Function::PowerBase.new(table, power, base)
917
+ end
918
+
919
+ rule(table: simple(:table),
920
+ power: simple(:power),
921
+ expr: sequence(:expr)) do
922
+ Math::Formula.new(
923
+ [
924
+ Math::Function::Power.new(table, power),
925
+ ] + expr.flatten.compact,
926
+ )
927
+ end
928
+
929
+ rule(table: simple(:table),
930
+ power: simple(:power),
931
+ expr: simple(:expr)) do
932
+ Math::Formula.new(
933
+ [
934
+ Math::Function::Power.new(table, power),
935
+ expr,
936
+ ],
937
+ )
938
+ end
939
+
940
+ rule(table: simple(:table),
941
+ base: simple(:base),
942
+ expr: sequence(:expr)) do
943
+ Math::Formula.new(
944
+ [
945
+ Math::Function::Base.new(table, base),
946
+ ] + expr.flatten.compact,
947
+ )
948
+ end
949
+
950
+ rule(table: simple(:table),
951
+ base: simple(:base),
952
+ expr: simple(:expr)) do
953
+ Math::Formula.new(
954
+ [
955
+ Math::Function::Base.new(table, base),
956
+ expr,
957
+ ],
958
+ )
959
+ end
960
+
903
961
  rule(table: simple(:table),
904
962
  rparen: simple(:rparen),
905
963
  expr: sequence(:expr)) do
@@ -1032,6 +1090,29 @@ module Plurimath
1032
1090
  )
1033
1091
  end
1034
1092
 
1093
+ rule(table: simple(:table),
1094
+ power_value: simple(:power),
1095
+ base_value: simple(:base),
1096
+ expr: simple(:expr)) do
1097
+ Math::Formula.new(
1098
+ [
1099
+ Math::Function::PowerBase.new(table, power, base),
1100
+ expr,
1101
+ ],
1102
+ )
1103
+ end
1104
+
1105
+ rule(table: simple(:table),
1106
+ power_value: simple(:power),
1107
+ base_value: simple(:base),
1108
+ expr: sequence(:expr)) do
1109
+ Math::Formula.new(
1110
+ [
1111
+ Math::Function::PowerBase.new(table, power, base),
1112
+ ] + expr.flatten.compact,
1113
+ )
1114
+ end
1115
+
1035
1116
  rule(table_left: simple(:table_left),
1036
1117
  table_row: simple(:table_row),
1037
1118
  expr: simple(:expr),
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Plurimath
4
- VERSION = "0.9.2"
4
+ VERSION = "0.9.3"
5
5
  end
data/lib/plurimath.rb CHANGED
@@ -1,9 +1,8 @@
1
-
2
1
  require_relative "plurimath/version"
3
- require "lutaml/model"
4
2
  require "mml/configuration"
5
3
 
6
4
  def mml_adapter(adapter)
5
+ require "lutaml/model"
7
6
  Mml::Configuration.adapter = adapter unless Mml::Configuration.adapter
8
7
  end
9
8
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plurimath
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-20 00:00:00.000000000 Z
11
+ date: 2025-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ox