ruby-mpc 0.0.6 → 0.0.7
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/Rakefile +12 -1
- data/ext/mpc/extconf.rb +2 -10
- data/lib/mpc/version.rb +2 -2
- data/ruby-mpc.gemspec +1 -0
- data/spec/mpc/arithmetic_op_spec.rb +9 -6
- data/spec/mpc/const_spec.rb +1 -1
- data/spec/mpc/functions_spec.rb +10 -6
- data/spec/spec_helper.rb +11 -0
- metadata +44 -22
- data/spec/mpc/spec_helper.rb +0 -16
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a2ffb433f8d7e0aac029a364d822d902cba87153
|
4
|
+
data.tar.gz: b5b2b5d9369fae9cddaa9e6b733d9f675eab7300
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 273c593e625f96cb23f9bbfa640298628fdefd7ec28c0d358cff9aa3f4f94c8f242f66445c8e7d391ddbcfa12e85affce1c873cf12288dcb6d2e99d17f2877b5
|
7
|
+
data.tar.gz: 1766d29b94179421b5a429f4700492d30b9f4dbabf871493ba4963a7c2d2ff9df80c78d96b7ad21aaffde3bcf5b95d7b8d118335b0b9f65dae5e3589e16675ef
|
data/Rakefile
CHANGED
@@ -1,3 +1,14 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require 'mpfr/rake_compile'
|
3
2
|
|
3
|
+
require "extconf_task"
|
4
|
+
ExtconfTask.new
|
5
|
+
|
6
|
+
require "rspec/core/rake_task"
|
7
|
+
RSpec::Core::RakeTask.new do |t|
|
8
|
+
t.pattern = 'spec/**/*_spec.rb'
|
9
|
+
end
|
10
|
+
|
11
|
+
require "yard"
|
12
|
+
YARD::Rake::YardocTask.new do |t|
|
13
|
+
t.files = ["lib/**/*.rb", "lib/**/ext/**/*.c"]
|
14
|
+
end
|
data/ext/mpc/extconf.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'mkmf'
|
2
|
+
require "extconf_task/mkmf_utils"
|
2
3
|
|
3
4
|
i = 0
|
4
5
|
while i < ARGV.size
|
@@ -20,15 +21,6 @@ dir_config("mpfr")
|
|
20
21
|
dir_config("mpc")
|
21
22
|
dir_config("gmp")
|
22
23
|
if have_header('mpfr.h') && have_library('mpfr') && have_header('mpc.h') && have_library('mpc') && have_header('gmp.h') && have_library('gmp')
|
23
|
-
|
24
|
-
begin
|
25
|
-
require "rubygems"
|
26
|
-
spec = Gem::Specification.find_by_name("ruby-mpfr")
|
27
|
-
ruby_mpfr_header_dir = File.join(spec.full_gem_path, 'ext/mpfr')
|
28
|
-
rescue LoadError
|
29
|
-
end
|
30
|
-
unless find_header("ruby_mpfr.h", ruby_mpfr_header_dir)
|
31
|
-
header_not_found("ruby_mpfr.h")
|
32
|
-
end
|
24
|
+
find_header_in_gem("ruby_mpfr.h", "ruby-mpfr")
|
33
25
|
create_makefile("mpc")
|
34
26
|
end
|
data/lib/mpc/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
class MPC
|
2
|
-
VERSION = '0.0.
|
1
|
+
class MPC < Numeric
|
2
|
+
VERSION = '0.0.7'
|
3
3
|
end
|
data/ruby-mpc.gemspec
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require "generate_complex_number.rb"
|
4
|
-
|
5
|
-
MPFR.set_default_prec(256)
|
1
|
+
require File.join(File.dirname(__FILE__), "../spec_helper.rb")
|
6
2
|
|
7
3
|
ARITHMETIC_NUM_OF_CALCULATE = 1000
|
8
4
|
|
@@ -14,6 +10,11 @@ def check_mpc_arithmetic_op(arg1, arg2, error = 10e-10, &block)
|
|
14
10
|
end
|
15
11
|
|
16
12
|
describe MPC, "when calculating" do
|
13
|
+
before(:all) do
|
14
|
+
@prec_old = MPFR.get_default_prec
|
15
|
+
MPFR.set_default_prec(256)
|
16
|
+
end
|
17
|
+
|
17
18
|
it "should be complex number" do
|
18
19
|
args = GenerateComplex.float_arguments(ARITHMETIC_NUM_OF_CALCULATE)
|
19
20
|
args.each_index do |i|
|
@@ -26,5 +27,7 @@ describe MPC, "when calculating" do
|
|
26
27
|
end
|
27
28
|
end
|
28
29
|
|
30
|
+
after(:all) do
|
31
|
+
MPFR.set_default_prec(@prec_old)
|
32
|
+
end
|
29
33
|
end
|
30
|
-
|
data/spec/mpc/const_spec.rb
CHANGED
data/spec/mpc/functions_spec.rb
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require "generate_complex_number.rb"
|
4
|
-
|
5
|
-
MPFR.set_default_prec(512)
|
1
|
+
require File.join(File.dirname(__FILE__), "../spec_helper.rb")
|
6
2
|
|
7
3
|
FUNCTIONS_NUM_OF_CALCULATE = 100
|
8
4
|
|
@@ -18,6 +14,11 @@ def check_mpc_function(arg1, error = 10e-10, &block)
|
|
18
14
|
end
|
19
15
|
|
20
16
|
describe MPC, "when calculating some functions" do
|
17
|
+
before(:all) do
|
18
|
+
@prec_old = MPFR.get_default_prec
|
19
|
+
MPFR.set_default_prec(512)
|
20
|
+
end
|
21
|
+
|
21
22
|
it "should be the same result as Complex class" do
|
22
23
|
args = GenerateComplex.float_arguments(FUNCTIONS_NUM_OF_CALCULATE)
|
23
24
|
args.each do |a|
|
@@ -26,5 +27,8 @@ describe MPC, "when calculating some functions" do
|
|
26
27
|
check_mpc_function(a) { |b| b.conj }
|
27
28
|
end
|
28
29
|
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
MPFR.set_default_prec(@prec_old)
|
33
|
+
end
|
29
34
|
end
|
30
|
-
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require "rspec"
|
2
|
+
|
3
|
+
gem_root = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
4
|
+
$:.unshift(File.join(gem_root, "lib"))
|
5
|
+
Dir.glob(File.join(gem_root, "ext/*")).each do |dir|
|
6
|
+
$:.unshift(dir)
|
7
|
+
end
|
8
|
+
|
9
|
+
require "mpfr"
|
10
|
+
require "mpc"
|
11
|
+
require File.join(gem_root, "spec/mpc/generate_complex_number")
|
metadata
CHANGED
@@ -1,49 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-mpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Takayuki YAMAGUCHI
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-09-04 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: yard
|
27
|
-
requirement:
|
28
|
-
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: extconf-task
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
29
44
|
requirements:
|
30
|
-
- -
|
45
|
+
- - '>='
|
31
46
|
- !ruby/object:Gem::Version
|
32
47
|
version: '0'
|
33
48
|
type: :development
|
34
49
|
prerelease: false
|
35
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
36
55
|
- !ruby/object:Gem::Dependency
|
37
56
|
name: ruby-mpfr
|
38
|
-
requirement:
|
39
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
40
58
|
requirements:
|
41
|
-
- -
|
59
|
+
- - '>='
|
42
60
|
- !ruby/object:Gem::Version
|
43
61
|
version: '0'
|
44
62
|
type: :runtime
|
45
63
|
prerelease: false
|
46
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
47
69
|
description: Ruby bindings of MPC that is C library for complex number of multiple
|
48
70
|
precision
|
49
71
|
email:
|
@@ -67,30 +89,30 @@ files:
|
|
67
89
|
- spec/mpc/const_spec.rb
|
68
90
|
- spec/mpc/functions_spec.rb
|
69
91
|
- spec/mpc/generate_complex_number.rb
|
70
|
-
- spec/
|
92
|
+
- spec/spec_helper.rb
|
71
93
|
homepage: ''
|
72
94
|
licenses: []
|
95
|
+
metadata: {}
|
73
96
|
post_install_message:
|
74
97
|
rdoc_options: []
|
75
98
|
require_paths:
|
76
99
|
- lib
|
77
100
|
- ext
|
78
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
102
|
requirements:
|
81
|
-
- -
|
103
|
+
- - '>='
|
82
104
|
- !ruby/object:Gem::Version
|
83
105
|
version: '0'
|
84
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
-
none: false
|
86
107
|
requirements:
|
87
|
-
- -
|
108
|
+
- - '>='
|
88
109
|
- !ruby/object:Gem::Version
|
89
110
|
version: '0'
|
90
111
|
requirements: []
|
91
112
|
rubyforge_project: ruby-mpc
|
92
|
-
rubygems_version:
|
113
|
+
rubygems_version: 2.0.3
|
93
114
|
signing_key:
|
94
|
-
specification_version:
|
115
|
+
specification_version: 4
|
95
116
|
summary: Ruby bindings of MPC
|
96
117
|
test_files: []
|
118
|
+
has_rdoc:
|
data/spec/mpc/spec_helper.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'rspec'
|
3
|
-
rescue LoadError
|
4
|
-
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
5
|
-
gem 'rspec'
|
6
|
-
require 'rspec'
|
7
|
-
end
|
8
|
-
|
9
|
-
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
10
|
-
$:.unshift(*Dir.glob(File.dirname(__FILE__) + '/../../ext/*'))
|
11
|
-
$:.unshift(File.dirname(__FILE__))
|
12
|
-
|
13
|
-
require 'mpfr'
|
14
|
-
require 'mpc'
|
15
|
-
require "generate_complex_number"
|
16
|
-
|