BOAST 0.99994 → 0.99995

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/BOAST.gemspec +1 -1
  3. data/lib/BOAST/CKernel.rb +23 -1
  4. metadata +28 -36
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 57c36ecbce4158a4dc2fb3a4649fa47805e0c8cc
4
+ data.tar.gz: 65cb304450d5eb10c63dbb15c888d24a94d0e566
5
+ SHA512:
6
+ metadata.gz: 9ad955b155dd5b59f68026a73c88954a0c353d0ff987160cc7a7bd952808e2ddabae3cd5888c9c957ecb37cae0b1f4922a5007b43cbe64daa53a69d56cd37246
7
+ data.tar.gz: ee864516ea19a35b6d39ef49ea01904e5b862c454399918a24d0f19dd4f233e7e0fab06051286e975cf58cc76ea3f1be83d8ae39b71eb31f26f702abb7582dac
data/BOAST.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'BOAST'
3
- s.version = "0.99994"
3
+ s.version = "0.99995"
4
4
  s.author = "Brice Videau"
5
5
  s.email = "brice.videau@imag.fr"
6
6
  s.homepage = "https://forge.imag.fr/projects/boast/"
data/lib/BOAST/CKernel.rb CHANGED
@@ -41,6 +41,7 @@ module BOAST
41
41
 
42
42
  boolean_state_accessor :verbose
43
43
  @@verbose = false
44
+ FORTRAN_LINE_LENGTH = 72
44
45
 
45
46
  module_function
46
47
 
@@ -534,7 +535,28 @@ EOF
534
535
  @code.rewind
535
536
  source_file.puts "#include <inttypes.h>" if @lang == C or @lang == CUDA
536
537
  source_file.puts "#include <cuda.h>" if @lang == CUDA
537
- source_file.write @code.read
538
+ # check for too long FORTRAN lines
539
+ if @lang == FORTRAN then
540
+ @code.each_line { |line|
541
+ # check for omp pragmas
542
+ if line.match(/^\s*!\$/) then
543
+ if line.match(/^\s*!\$(omp|OMP)/) then
544
+ chunks = line.scan(/.{1,#{FORTRAN_LINE_LENGTH-7}}/)
545
+ source_file.puts chunks.join("&\n!$omp&")
546
+ else
547
+ chunks = line.scan(/.{1,#{FORTRAN_LINE_LENGTH-4}}/)
548
+ source_file.puts chunks.join("&\n!$&")
549
+ end
550
+ elsif line.match(/^\w*!/) then
551
+ source_file.write line
552
+ else
553
+ chunks = line.scan(/.{1,#{FORTRAN_LINE_LENGTH-2}}/)
554
+ source_file.puts chunks.join("&\n&")
555
+ end
556
+ }
557
+ else
558
+ source_file.write @code.read
559
+ end
538
560
  if @lang == CUDA then
539
561
  source_file.write <<EOF
540
562
  extern "C" {
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: BOAST
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.99994'
5
- prerelease:
4
+ version: '0.99995'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brice Videau
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-10-17 00:00:00.000000000 Z
11
+ date: 2014-11-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: narray
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 0.6.0.8
22
20
  type: :runtime
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: 0.6.0.8
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: opencl_ruby_ffi
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0.4'
38
34
  type: :runtime
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: '0.4'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: systemu
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: 2.2.0
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: 2.2.0
62
55
  description: BOAST aims at providing a framework to metaprogram, benchmark and validate
@@ -70,52 +63,51 @@ files:
70
63
  - LICENSE
71
64
  - lib/BOAST.rb
72
65
  - lib/BOAST/Algorithm.rb
73
- - lib/BOAST/CKernel.rb
66
+ - lib/BOAST/Arithmetic.rb
74
67
  - lib/BOAST/BOAST_OpenCL.rb
75
- - lib/BOAST/Transitions.rb
76
- - lib/BOAST/Parens.rb
77
- - lib/BOAST/Operators.rb
68
+ - lib/BOAST/CKernel.rb
69
+ - lib/BOAST/Case.rb
70
+ - lib/BOAST/ControlStructure.rb
78
71
  - lib/BOAST/DataTypes.rb
79
- - lib/BOAST/Arithmetic.rb
80
72
  - lib/BOAST/Expression.rb
81
- - lib/BOAST/Index.rb
82
- - lib/BOAST/Variable.rb
83
- - lib/BOAST/Procedure.rb
84
- - lib/BOAST/If.rb
85
73
  - lib/BOAST/For.rb
86
- - lib/BOAST/Case.rb
87
- - lib/BOAST/While.rb
88
74
  - lib/BOAST/FuncCall.rb
89
- - lib/BOAST/Pragma.rb
90
- - lib/BOAST/Inspectable.rb
91
75
  - lib/BOAST/Functors.rb
92
- - lib/BOAST/ControlStructure.rb
76
+ - lib/BOAST/If.rb
77
+ - lib/BOAST/Index.rb
78
+ - lib/BOAST/Inspectable.rb
79
+ - lib/BOAST/Operators.rb
80
+ - lib/BOAST/Optimization.rb
81
+ - lib/BOAST/Parens.rb
82
+ - lib/BOAST/Pragma.rb
93
83
  - lib/BOAST/Print.rb
84
+ - lib/BOAST/Procedure.rb
94
85
  - lib/BOAST/State.rb
95
- - lib/BOAST/Optimization.rb
86
+ - lib/BOAST/Transitions.rb
87
+ - lib/BOAST/Variable.rb
88
+ - lib/BOAST/While.rb
96
89
  homepage: https://forge.imag.fr/projects/boast/
97
90
  licenses:
98
91
  - BSD
92
+ metadata: {}
99
93
  post_install_message:
100
94
  rdoc_options: []
101
95
  require_paths:
102
96
  - lib
103
97
  required_ruby_version: !ruby/object:Gem::Requirement
104
- none: false
105
98
  requirements:
106
- - - ! '>='
99
+ - - ">="
107
100
  - !ruby/object:Gem::Version
108
101
  version: 1.9.3
109
102
  required_rubygems_version: !ruby/object:Gem::Requirement
110
- none: false
111
103
  requirements:
112
- - - ! '>='
104
+ - - ">="
113
105
  - !ruby/object:Gem::Version
114
106
  version: '0'
115
107
  requirements: []
116
108
  rubyforge_project:
117
- rubygems_version: 1.8.23
109
+ rubygems_version: 2.2.2
118
110
  signing_key:
119
- specification_version: 3
111
+ specification_version: 4
120
112
  summary: BOAST is a computing kernel metaprogramming tool.
121
113
  test_files: []