unicode_math 1.3.0 → 1.4.0
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 +7 -0
- data/.travis.yml +6 -3
- data/README.md +18 -0
- data/Rakefile +1 -0
- data/lib/unicode_math/constants.rb +8 -0
- data/lib/unicode_math/factorial.rb +20 -0
- data/lib/unicode_math/fractional_output.rb +35 -0
- data/lib/unicode_math/version.rb +3 -0
- data/spec/unicode_math/constants_spec.rb +8 -0
- data/spec/unicode_math/factorial_spec.rb +17 -0
- data/spec/unicode_math/fractional_output_spec.rb +75 -0
- data/unicode_math.gemspec +3 -1
- metadata +20 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4ddad12578490001d2c5fda8af73fab672f27539
|
4
|
+
data.tar.gz: e7d11e789c77d29010793fbd7051473923c6b8aa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3c893a8dd5572da2a8aa89f45ab342311ecbd52778bdbd13bae63f81e6c2ae6abcf9ca716a315b00687c8ae42a92d192255171987e0ba594211bb8c970f57d13
|
7
|
+
data.tar.gz: 4b0610cc0674ac6c4b1b70531a8d134a5c171feb50c7e18bddc9796c733ce3e278ed646f9db9e2e48eb73bcd5a02155db0432ca6726f7fd1ab3a8ff597427d83
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -39,6 +39,19 @@ Easily use unicode costants:
|
|
39
39
|
And have fun with them:
|
40
40
|
|
41
41
|
(-∞..∞).cover? ∞ + 1
|
42
|
+
|
43
|
+
Including [Hindi numbers](https://en.wikibooks.org/wiki/Hindi/Numbers):
|
44
|
+
|
45
|
+
०
|
46
|
+
१
|
47
|
+
२
|
48
|
+
३
|
49
|
+
४
|
50
|
+
५
|
51
|
+
६
|
52
|
+
७
|
53
|
+
८
|
54
|
+
९
|
42
55
|
|
43
56
|
### Exponents
|
44
57
|
|
@@ -69,6 +82,11 @@ You can sum up or multiply emlements of either an array or range:
|
|
69
82
|
|
70
83
|
[2, 3, 5, 7].∩ [3, 5, 7, 9]
|
71
84
|
[2, 3, 5, 7].∪ [3, 5, 7, 9]
|
85
|
+
|
86
|
+
### Factorial
|
87
|
+
|
88
|
+
2.!
|
89
|
+
10.!
|
72
90
|
|
73
91
|
## Installation
|
74
92
|
|
data/Rakefile
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module UnicodeMath
|
4
|
+
module Factorial
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
define_method('!') do
|
8
|
+
fact = 1
|
9
|
+
(self).downto(1) do |i|
|
10
|
+
fact = fact * i
|
11
|
+
end
|
12
|
+
fact
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Numeric.send(:include, UnicodeMath::Factorial)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module UnicodeMath
|
4
|
+
module FractionalOutput
|
5
|
+
def self.included(base)
|
6
|
+
base.class_eval do
|
7
|
+
alias_method :old_to_s, :to_s
|
8
|
+
def to_s
|
9
|
+
frac =
|
10
|
+
case self % 1
|
11
|
+
when ⅛ then '⅛'
|
12
|
+
when ⅙ then '⅙'
|
13
|
+
when ⅕ then '⅕'
|
14
|
+
when ¼ then '¼'
|
15
|
+
when ⅓ then '⅓'
|
16
|
+
when ⅜ then '⅜'
|
17
|
+
when ⅖ then '⅖'
|
18
|
+
when ½ then '½'
|
19
|
+
when ⅗ then '⅗'
|
20
|
+
when ⅝ then '⅝'
|
21
|
+
when ⅔ then '⅔'
|
22
|
+
when ⅘ then '⅘'
|
23
|
+
when ⅚ then '⅚'
|
24
|
+
when ¾ then '¾'
|
25
|
+
when ⅞ then '⅞'
|
26
|
+
else return old_to_s
|
27
|
+
end
|
28
|
+
"#{self >= 1 ? floor : ''}#{frac}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
Float.send(:include, UnicodeMath::FractionalOutput)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe UnicodeMath::Factorial do
|
6
|
+
it 'calculates factorial of 0' do
|
7
|
+
expect(0.!).to eq(1)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'calculate factorial' do
|
11
|
+
expect(2.!).to eq(2)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'calculates factorial' do
|
15
|
+
expect(4.!).to eq(24)
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe UnicodeMath::FractionalOutput do
|
6
|
+
it 'displays one half as ½' do
|
7
|
+
expect((1.0/2).to_s).to eq('½')
|
8
|
+
end
|
9
|
+
|
10
|
+
describe 'thirds' do
|
11
|
+
it 'displays one third as ⅓' do
|
12
|
+
expect((1.0/3).to_s).to eq('⅓')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'displays two thirds as ⅔' do
|
16
|
+
expect((2.0/3).to_s).to eq('⅔')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe 'quarters' do
|
21
|
+
it 'displays one quarter as ¼' do
|
22
|
+
expect((1.0/4).to_s).to eq('¼')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'displays three quarters as ¾' do
|
26
|
+
expect((3.0/4).to_s).to eq('¾')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'fifths' do
|
31
|
+
it 'displays one fifth as ⅕' do
|
32
|
+
expect((1.0/5).to_s).to eq('⅕')
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'displays two fifths as ⅖' do
|
36
|
+
expect((2.0/5).to_s).to eq('⅖')
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'displays three fifths as ⅗' do
|
40
|
+
expect((3.0/5).to_s).to eq('⅗')
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'displays four fifths as ⅘' do
|
44
|
+
expect((4.0/5).to_s).to eq('⅘')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'sixths' do
|
49
|
+
it 'displays one sixth as ⅙' do
|
50
|
+
expect((1.0/6).to_s).to eq('⅙')
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'displays five sixths as ⅚' do
|
54
|
+
expect((5.0/6).to_s).to eq('⅚')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe 'eighths' do
|
59
|
+
it 'displays one eighth as ⅛' do
|
60
|
+
expect((1.0/8).to_s).to eq('⅛')
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'displays three eighths as ⅜' do
|
64
|
+
expect((3.0/8).to_s).to eq('⅜')
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'displays five eighths as ⅝' do
|
68
|
+
expect((5.0/8).to_s).to eq('⅝')
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'displays seven eighths as ⅞' do
|
72
|
+
expect((7.0/8).to_s).to eq('⅞')
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/unicode_math.gemspec
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "unicode_math/version"
|
2
4
|
|
3
5
|
Gem::Specification.new do |gem|
|
4
6
|
gem.name = 'unicode_math'
|
5
|
-
gem.version =
|
7
|
+
gem.version = UnicodeMath::VERSION
|
6
8
|
|
7
9
|
gem.author = 'Collective Idea'
|
8
10
|
gem.email = 'info@collectiveidea.com'
|
metadata
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicode_math
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Collective Idea
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-02-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '10.0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '10.0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '2.12'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '2.12'
|
46
41
|
description: Fun Ruby extensions for doing math with Unicode
|
@@ -49,8 +44,8 @@ executables: []
|
|
49
44
|
extensions: []
|
50
45
|
extra_rdoc_files: []
|
51
46
|
files:
|
52
|
-
- .gitignore
|
53
|
-
- .travis.yml
|
47
|
+
- ".gitignore"
|
48
|
+
- ".travis.yml"
|
54
49
|
- Gemfile
|
55
50
|
- LICENSE.txt
|
56
51
|
- README.md
|
@@ -59,18 +54,23 @@ files:
|
|
59
54
|
- lib/unicode_math/constants.rb
|
60
55
|
- lib/unicode_math/division.rb
|
61
56
|
- lib/unicode_math/exponents.rb
|
57
|
+
- lib/unicode_math/factorial.rb
|
58
|
+
- lib/unicode_math/fractional_output.rb
|
62
59
|
- lib/unicode_math/fractions.rb
|
63
60
|
- lib/unicode_math/multiplication.rb
|
64
61
|
- lib/unicode_math/roots.rb
|
65
62
|
- lib/unicode_math/set.rb
|
66
63
|
- lib/unicode_math/sigma.rb
|
67
64
|
- lib/unicode_math/trigonometry.rb
|
65
|
+
- lib/unicode_math/version.rb
|
68
66
|
- spec/spec_helper.rb
|
69
67
|
- spec/support/random.rb
|
70
68
|
- spec/unicode_math/constants_spec.rb
|
71
69
|
- spec/unicode_math/division_spec.rb
|
72
70
|
- spec/unicode_math/equations/euler_spec.rb
|
73
71
|
- spec/unicode_math/exponents_spec.rb
|
72
|
+
- spec/unicode_math/factorial_spec.rb
|
73
|
+
- spec/unicode_math/fractional_output_spec.rb
|
74
74
|
- spec/unicode_math/fractions_spec.rb
|
75
75
|
- spec/unicode_math/multiplication_spec.rb
|
76
76
|
- spec/unicode_math/root_spec.rb
|
@@ -80,33 +80,26 @@ files:
|
|
80
80
|
- unicode_math.gemspec
|
81
81
|
homepage: https://github.com/collectiveidea/unicode_math
|
82
82
|
licenses: []
|
83
|
+
metadata: {}
|
83
84
|
post_install_message:
|
84
85
|
rdoc_options: []
|
85
86
|
require_paths:
|
86
87
|
- lib
|
87
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
89
|
requirements:
|
90
|
-
- -
|
90
|
+
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: '0'
|
93
|
-
segments:
|
94
|
-
- 0
|
95
|
-
hash: 2351725633103773453
|
96
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
94
|
requirements:
|
99
|
-
- -
|
95
|
+
- - ">="
|
100
96
|
- !ruby/object:Gem::Version
|
101
97
|
version: '0'
|
102
|
-
segments:
|
103
|
-
- 0
|
104
|
-
hash: 2351725633103773453
|
105
98
|
requirements: []
|
106
99
|
rubyforge_project:
|
107
|
-
rubygems_version:
|
100
|
+
rubygems_version: 2.5.1
|
108
101
|
signing_key:
|
109
|
-
specification_version:
|
102
|
+
specification_version: 4
|
110
103
|
summary: Fun Ruby extensions for doing math with Unicode
|
111
104
|
test_files:
|
112
105
|
- spec/spec_helper.rb
|
@@ -115,6 +108,8 @@ test_files:
|
|
115
108
|
- spec/unicode_math/division_spec.rb
|
116
109
|
- spec/unicode_math/equations/euler_spec.rb
|
117
110
|
- spec/unicode_math/exponents_spec.rb
|
111
|
+
- spec/unicode_math/factorial_spec.rb
|
112
|
+
- spec/unicode_math/fractional_output_spec.rb
|
118
113
|
- spec/unicode_math/fractions_spec.rb
|
119
114
|
- spec/unicode_math/multiplication_spec.rb
|
120
115
|
- spec/unicode_math/root_spec.rb
|