fort 1.1.0 → 2.0.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.
- data/{rakefile → Rakefile} +1 -1
- data/fort.gemspec +1 -1
- data/lib/fort/type.rb +123 -19
- data/lib/fort/version.rb +1 -1
- data/test/fort/type_test.rb +69 -0
- data/test/{helper_for_test.rb → test_helper.rb} +1 -0
- metadata +13 -31
- data/lib/fort/type/character_type.rb +0 -31
- data/lib/fort/type/complex_type.rb +0 -15
- data/lib/fort/type/integer_type.rb +0 -13
- data/lib/fort/type/logical_type.rb +0 -16
- data/lib/fort/type/numeric_type.rb +0 -24
- data/lib/fort/type/real_type.rb +0 -15
- data/test/fort/test_type.rb +0 -7
- data/test/fort/type/test_character_type.rb +0 -21
- data/test/fort/type/test_complex_type.rb +0 -18
- data/test/fort/type/test_integer_type.rb +0 -18
- data/test/fort/type/test_logical_type.rb +0 -18
- data/test/fort/type/test_real_type.rb +0 -18
- data/test/test_fort.rb +0 -7
data/{rakefile → Rakefile}
RENAMED
data/fort.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.name = gem_name
|
11
11
|
s.summary = "Library for Fortran 90 and newer."
|
12
12
|
s.version = ::Fort::VERSION
|
13
|
-
s.add_runtime_dependency 'ruby_patch', '
|
13
|
+
s.add_runtime_dependency 'ruby_patch', '>= 1.1.0'
|
14
14
|
s.add_development_dependency 'pry', '~> 0.9'
|
15
15
|
s.author = 'kshramt'
|
16
16
|
s.description = "Ruby library for Fortran 90 and newer."
|
data/lib/fort/type.rb
CHANGED
@@ -1,43 +1,147 @@
|
|
1
|
-
module Fort
|
2
|
-
|
3
|
-
|
4
|
-
extend ::RubyPatch::AutoLoad
|
1
|
+
module ::Fort::Type
|
2
|
+
USE_ISO_FORTRAN_ENV = "use, intrinsic:: iso_fortran_env, only: INT8, INT16, INT32, INT64, REAL32, REAL64, REAL128"
|
3
|
+
DIM_RANGE = (0..7)
|
5
4
|
|
6
|
-
|
5
|
+
module Providable
|
6
|
+
ID_GENERATOR = lambda{
|
7
|
+
id_number = '0'
|
8
|
+
lambda{'T' + id_number.next!}}.call
|
7
9
|
|
8
|
-
|
10
|
+
def provide(params = {})
|
11
|
+
@params_default ||= {}
|
12
|
+
@memo ||= {}
|
13
|
+
params_for_new = @params_default.merge(params)
|
14
|
+
@memo[params_for_new] ||= new(::Fort::Type::Providable::ID_GENERATOR.call, params_for_new)
|
15
|
+
end
|
9
16
|
|
10
|
-
|
11
|
-
|
12
|
-
@
|
17
|
+
# @param [Hash<Array>] params
|
18
|
+
def multi_provide(params = {})
|
19
|
+
@params_default_for_multi_provide ||= {}
|
20
|
+
params_for_new = @params_default_for_multi_provide.merge(params)
|
21
|
+
product_all(params_for_new.values.map{|val| Array(val)})\
|
22
|
+
.map{|values| Hash[params_for_new.keys.zip(values)]}\
|
23
|
+
.map{|hash| provide(hash)}
|
13
24
|
end
|
14
25
|
|
26
|
+
private
|
27
|
+
|
28
|
+
def product_all(array)
|
29
|
+
return array if array.size <= 1
|
30
|
+
first = array.first
|
31
|
+
rest = array[1..-1]
|
32
|
+
first.product(*rest)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Base
|
37
|
+
extend Providable
|
38
|
+
|
39
|
+
def initialize(id, params = {})
|
40
|
+
@id = id
|
41
|
+
@dim = params.fetch(:dim)
|
42
|
+
raise ArgumentError, "@dim: #{@dim}" if @dim < 0
|
43
|
+
@type = self.class.to_s.split('::').last
|
44
|
+
end
|
45
|
+
attr_reader :id, :dim, :type
|
46
|
+
|
15
47
|
def to_s
|
16
|
-
"#{@
|
48
|
+
"#{@type}Dim#{@dim}"
|
17
49
|
end
|
18
50
|
|
19
51
|
def declare
|
52
|
+
@type + dimension()
|
53
|
+
end
|
54
|
+
|
55
|
+
def parenthesis
|
20
56
|
if @dim >= 1
|
21
|
-
"
|
57
|
+
"(" + colons() + ")"
|
22
58
|
else
|
23
|
-
|
59
|
+
''
|
24
60
|
end
|
25
61
|
end
|
26
62
|
|
27
|
-
|
28
|
-
([':']*@dim).join(', ')
|
29
|
-
end
|
63
|
+
private
|
30
64
|
|
31
|
-
def
|
65
|
+
def dimension
|
32
66
|
if @dim >= 1
|
33
|
-
"(
|
67
|
+
", dimension" + parenthesis()
|
34
68
|
else
|
35
69
|
''
|
36
70
|
end
|
37
71
|
end
|
38
72
|
|
39
|
-
def
|
40
|
-
|
73
|
+
def colons
|
74
|
+
if @dim >= 1
|
75
|
+
([':']*@dim).join(', ')
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class Numeric < Base
|
81
|
+
def initialize(id, params = {})
|
82
|
+
super
|
83
|
+
@kind = params.fetch(:kind)
|
84
|
+
end
|
85
|
+
attr_reader :kind
|
86
|
+
|
87
|
+
def to_s
|
88
|
+
super + "Kind#{@kind}"
|
89
|
+
end
|
90
|
+
|
91
|
+
def declare
|
92
|
+
"#{@type}(kind = #{@kind})#{dimension()}"
|
41
93
|
end
|
42
94
|
end
|
95
|
+
|
96
|
+
class Integer < Numeric
|
97
|
+
KINDS = [:INT8, :INT16, :INT32, :INT64]
|
98
|
+
@params_default = {dim: 0, kind: :INT32}
|
99
|
+
@params_default_for_multi_provide = {dim: ::Fort::Type::DIM_RANGE, kind: KINDS}
|
100
|
+
end
|
101
|
+
|
102
|
+
class Real < Numeric
|
103
|
+
KINDS = [:REAL32, :REAL64, :REAL128]
|
104
|
+
@params_default = {dim: 0, kind: :REAL32}
|
105
|
+
@params_default_for_multi_provide = {dim: ::Fort::Type::DIM_RANGE, kind: KINDS}
|
106
|
+
end
|
107
|
+
|
108
|
+
class Complex < Numeric
|
109
|
+
KINDS = [:REAL32, :REAL64, :REAL128]
|
110
|
+
@params_default = {dim: 0, kind: :REAL32}
|
111
|
+
@params_default_for_multi_provide = {dim: ::Fort::Type::DIM_RANGE, kind: KINDS}
|
112
|
+
end
|
113
|
+
|
114
|
+
class Character < Base
|
115
|
+
@params_default = {dim: 0, len: :*}
|
116
|
+
@params_default_for_multi_provide = {dim: ::Fort::Type::DIM_RANGE, len: :*}
|
117
|
+
|
118
|
+
def initialize(id, params)
|
119
|
+
super
|
120
|
+
@len = params.fetch(:len)
|
121
|
+
end
|
122
|
+
attr_reader :len
|
123
|
+
|
124
|
+
def to_s
|
125
|
+
super + "Len#{len_str()}"
|
126
|
+
end
|
127
|
+
|
128
|
+
def declare
|
129
|
+
"#{@type}(len = #{@len})#{dimension()}"
|
130
|
+
end
|
131
|
+
|
132
|
+
private
|
133
|
+
|
134
|
+
def len_str
|
135
|
+
if @len == :*
|
136
|
+
'Ast'
|
137
|
+
else
|
138
|
+
@len
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
class Logical < Base
|
144
|
+
@params_default = {dim: 0}
|
145
|
+
@params_default_for_multi_provide = {dim: ::Fort::Type::DIM_RANGE}
|
146
|
+
end
|
43
147
|
end
|
data/lib/fort/version.rb
CHANGED
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TypeTest < ::MiniTest::Unit::TestCase
|
4
|
+
T = ::Fort::Type
|
5
|
+
|
6
|
+
def test_different_ids_for_different_types
|
7
|
+
assert(not(T::Real.provide(dim: 1, kind: 'REAL32').id == T::Complex.provide(dim: 1, kind: 'REAL32').id))
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_different_ids_for_different_hashs
|
11
|
+
assert(not(T::Real.provide(dim: 1, kind: 'REAL32').id == T::Real.provide(dim: 1, kind: 'REAL64').id))
|
12
|
+
assert(not(T::Real.provide(dim: 1, kind: 'REAL32').id == T::Real.provide(dim: 1, kind: 'REAL32', dummy: :dummy).id))
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_same_id_for_same_type_and_hash
|
16
|
+
assert(T::Real.provide(dim: 1, kind: 'REAL32').id == T::Real.provide(kind: 'REAL32', dim: 1).id)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_base
|
20
|
+
assert_equal('BaseDim3', T::Base.provide(dim: 3).to_s)
|
21
|
+
assert_equal('Base, dimension(:, :, :)', T::Base.provide(dim: 3).declare)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_numeric
|
25
|
+
t = T::Numeric.provide(dim: 0, kind: 1)
|
26
|
+
assert_equal('NumericDim0Kind1', t.to_s)
|
27
|
+
assert_equal('Numeric(kind = 1)', t.declare)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_multi_provide
|
31
|
+
assert_equal(21, T::Numeric.multi_provide(dim: [1, 2, 3, 4, 5, 6, 7], kind: ['REAL32', 'REAL64', 'REAL128']).size)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_integer
|
35
|
+
t = T::Integer.provide(dim: 7, kind: :INT32)
|
36
|
+
assert_equal('IntegerDim7KindINT32', t.to_s)
|
37
|
+
assert_equal('Integer(kind = INT32), dimension(:, :, :, :, :, :, :)', t.declare)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_real
|
41
|
+
t = T::Real.provide(dim: 1, kind: :REAL128)
|
42
|
+
assert_equal('RealDim1KindREAL128', t.to_s)
|
43
|
+
assert_equal('Real(kind = REAL128), dimension(:)', t.declare)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_complex
|
47
|
+
t = T::Complex.provide(dim: 1, kind: :REAL128)
|
48
|
+
assert_equal('ComplexDim1KindREAL128', t.to_s)
|
49
|
+
assert_equal('Complex(kind = REAL128), dimension(:)', t.declare)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_character
|
53
|
+
t = T::Character.provide(dim: 1, len: 2)
|
54
|
+
assert_equal('CharacterDim1Len2', t.to_s)
|
55
|
+
assert_equal('Character(len = 2), dimension(:)', t.declare)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_character_asterisk
|
59
|
+
t = T::Character.provide(dim: 1, len: :*)
|
60
|
+
assert_equal('CharacterDim1LenAst', t.to_s)
|
61
|
+
assert_equal('Character(len = *), dimension(:)', t.declare)
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_logical
|
65
|
+
t = T::Logical.provide(dim: 1)
|
66
|
+
assert_equal('LogicalDim1', t.to_s)
|
67
|
+
assert_equal('Logical, dimension(:)', t.declare)
|
68
|
+
end
|
69
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fort
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby_patch
|
16
|
-
requirement: &
|
16
|
+
requirement: &2156749900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 1.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2156749900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: pry
|
27
|
-
requirement: &
|
27
|
+
requirement: &2156771300 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,13 +32,14 @@ dependencies:
|
|
32
32
|
version: '0.9'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2156771300
|
36
36
|
description: Ruby library for Fortran 90 and newer.
|
37
37
|
email:
|
38
38
|
executables: []
|
39
39
|
extensions: []
|
40
40
|
extra_rdoc_files: []
|
41
41
|
files:
|
42
|
+
- Rakefile
|
42
43
|
- fort.gemspec
|
43
44
|
- lib/fort.rb
|
44
45
|
- lib/fort/src.rb
|
@@ -46,26 +47,13 @@ files:
|
|
46
47
|
- lib/fort/src/code/depended_module.rb
|
47
48
|
- lib/fort/src/code/program_unit.rb
|
48
49
|
- lib/fort/type.rb
|
49
|
-
- lib/fort/type/character_type.rb
|
50
|
-
- lib/fort/type/complex_type.rb
|
51
|
-
- lib/fort/type/integer_type.rb
|
52
|
-
- lib/fort/type/logical_type.rb
|
53
|
-
- lib/fort/type/numeric_type.rb
|
54
|
-
- lib/fort/type/real_type.rb
|
55
50
|
- lib/fort/version.rb
|
56
|
-
- rakefile
|
57
51
|
- spec/fort/src/code_spec.rb
|
58
52
|
- spec/fort/src/lib_test.f90
|
59
53
|
- spec/fort/src/test.f90
|
60
54
|
- spec/fort/src/test_clean_code.f90
|
61
|
-
- test/fort/
|
62
|
-
- test/
|
63
|
-
- test/fort/type/test_complex_type.rb
|
64
|
-
- test/fort/type/test_integer_type.rb
|
65
|
-
- test/fort/type/test_logical_type.rb
|
66
|
-
- test/fort/type/test_real_type.rb
|
67
|
-
- test/helper_for_test.rb
|
68
|
-
- test/test_fort.rb
|
55
|
+
- test/fort/type_test.rb
|
56
|
+
- test/test_helper.rb
|
69
57
|
homepage:
|
70
58
|
licenses: []
|
71
59
|
post_install_message:
|
@@ -86,16 +74,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
74
|
version: '0'
|
87
75
|
requirements: []
|
88
76
|
rubyforge_project:
|
89
|
-
rubygems_version: 1.8.
|
77
|
+
rubygems_version: 1.8.15
|
90
78
|
signing_key:
|
91
79
|
specification_version: 3
|
92
80
|
summary: Library for Fortran 90 and newer.
|
93
81
|
test_files:
|
94
|
-
- test/
|
95
|
-
- test/fort/type/test_character_type.rb
|
96
|
-
- test/fort/type/test_complex_type.rb
|
97
|
-
- test/fort/type/test_integer_type.rb
|
98
|
-
- test/fort/type/test_logical_type.rb
|
99
|
-
- test/fort/type/test_real_type.rb
|
100
|
-
- test/test_fort.rb
|
82
|
+
- test/test_helper.rb
|
101
83
|
has_rdoc:
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module Fort
|
2
|
-
class Type
|
3
|
-
class CharacterType < self
|
4
|
-
require 'ruby_patch'
|
5
|
-
extend ::RubyPatch::AutoLoad
|
6
|
-
|
7
|
-
attr_reader :len
|
8
|
-
|
9
|
-
def initialize(dim = 0, len = 1)
|
10
|
-
super(dim)
|
11
|
-
@len = len
|
12
|
-
@len_suf = case @len
|
13
|
-
when '*'
|
14
|
-
'Ast'
|
15
|
-
when ':'
|
16
|
-
'Colon'
|
17
|
-
else
|
18
|
-
@len
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def to_s
|
23
|
-
"#{super}Len#{@len_suf}"
|
24
|
-
end
|
25
|
-
|
26
|
-
def declare
|
27
|
-
"#{@stem}(len = #{@len})#{super}"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Fort
|
2
|
-
class Type
|
3
|
-
class ComplexType < ::Fort::Type::NumericType
|
4
|
-
require 'ruby_patch'
|
5
|
-
extend ::RubyPatch::AutoLoad
|
6
|
-
|
7
|
-
attr_reader :kind, :kind_const
|
8
|
-
|
9
|
-
def initialize(dim = 0, kind = 32)
|
10
|
-
super
|
11
|
-
@kind_const = "REAL#{@kind}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Fort
|
2
|
-
class Type
|
3
|
-
class NumericType < ::Fort::Type
|
4
|
-
require 'ruby_patch'
|
5
|
-
extend ::RubyPatch::AutoLoad
|
6
|
-
|
7
|
-
attr_reader :kind, :kind_const
|
8
|
-
|
9
|
-
def initialize(dim = 0, kind = 32)
|
10
|
-
super(dim)
|
11
|
-
@kind = kind
|
12
|
-
@kind_const = nil
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_s
|
16
|
-
"#{super}Kind#{@kind}"
|
17
|
-
end
|
18
|
-
|
19
|
-
def declare
|
20
|
-
"#{@stem}(#{@kind_const})#{super}"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
data/lib/fort/type/real_type.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Fort
|
2
|
-
class Type
|
3
|
-
class RealType < ::Fort::Type::NumericType
|
4
|
-
require 'ruby_patch'
|
5
|
-
extend ::RubyPatch::AutoLoad
|
6
|
-
|
7
|
-
attr_reader :kind, :kind_const
|
8
|
-
|
9
|
-
def initialize(dim = 0, kind = 32)
|
10
|
-
super
|
11
|
-
@kind_const = "REAL#{@kind}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/test/fort/test_type.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'helper_for_test'
|
2
|
-
|
3
|
-
class TestCharacterType < ::MiniTest::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@cAst_0 = ::Fort::Type::CharacterType.new(0, '*')
|
6
|
-
@cColon_1 = ::Fort::Type::CharacterType.new(1, ':')
|
7
|
-
@c3_2 = ::Fort::Type::CharacterType.new(2, 3)
|
8
|
-
end
|
9
|
-
|
10
|
-
def test_to_s
|
11
|
-
assert_equal(@cAst_0.to_s, "CharacterDim0LenAst")
|
12
|
-
assert_equal(@cColon_1.to_s, "CharacterDim1LenColon")
|
13
|
-
assert_equal(@c3_2.to_s, "CharacterDim2Len3")
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_declare
|
17
|
-
assert_equal(@cAst_0.declare, "Character(len = *)")
|
18
|
-
assert_equal(@cColon_1.declare, "Character(len = :), dimension(:)")
|
19
|
-
assert_equal(@c3_2.declare, "Character(len = 3), dimension(:, :)")
|
20
|
-
end
|
21
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'helper_for_test'
|
2
|
-
|
3
|
-
class TestComplexType < ::MiniTest::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@d_0 = ::Fort::Type::ComplexType.new(0, 64)
|
6
|
-
@s_2 = ::Fort::Type::ComplexType.new(2, 32)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_to_s
|
10
|
-
assert_equal(@d_0.to_s, "ComplexDim0Kind64")
|
11
|
-
assert_equal(@s_2.to_s, "ComplexDim2Kind32")
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_declare
|
15
|
-
assert_equal(@d_0.declare, "Complex(REAL64)")
|
16
|
-
assert_equal(@s_2.declare, "Complex(REAL32), dimension(:, :)")
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'helper_for_test'
|
2
|
-
|
3
|
-
class TestIntegerType < ::MiniTest::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@d_0 = ::Fort::Type::IntegerType.new(0, 64)
|
6
|
-
@s_2 = ::Fort::Type::IntegerType.new(2, 32)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_to_s
|
10
|
-
assert_equal(@d_0.to_s, "IntegerDim0Kind64")
|
11
|
-
assert_equal(@s_2.to_s, "IntegerDim2Kind32")
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_declare
|
15
|
-
assert_equal(@d_0.declare, "Integer(INT64)")
|
16
|
-
assert_equal(@s_2.declare, "Integer(INT32), dimension(:, :)")
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'helper_for_test'
|
2
|
-
|
3
|
-
class TestLogicalType < ::MiniTest::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@l0 = ::Fort::Type::LogicalType.new(0)
|
6
|
-
@l2 = ::Fort::Type::LogicalType.new(2)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_to_s
|
10
|
-
assert_equal(@l0.to_s, "LogicalDim0")
|
11
|
-
assert_equal(@l2.to_s, "LogicalDim2")
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_declare
|
15
|
-
assert_equal(@l0.declare, "Logical")
|
16
|
-
assert_equal(@l2.declare, "Logical, dimension(:, :)")
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'helper_for_test'
|
2
|
-
|
3
|
-
class TestRealType < ::MiniTest::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@d_0 = ::Fort::Type::RealType.new(0, 64)
|
6
|
-
@s_2 = ::Fort::Type::RealType.new(2, 32)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_to_s
|
10
|
-
assert_equal(@d_0.to_s, "RealDim0Kind64")
|
11
|
-
assert_equal(@s_2.to_s, "RealDim2Kind32")
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_declare
|
15
|
-
assert_equal(@d_0.declare, "Real(REAL64)")
|
16
|
-
assert_equal(@s_2.declare, "Real(REAL32), dimension(:, :)")
|
17
|
-
end
|
18
|
-
end
|