BOAST 0.94 → 0.95
Sign up to get free protection for your applications and to get access to all the features.
- data/BOAST.gemspec +1 -1
- data/lib/BOAST/Algorithm.rb +16 -7
- data/lib/BOAST/CKernel.rb +2 -1
- data/lib/BOAST/Operators.rb +11 -0
- metadata +2 -2
data/BOAST.gemspec
CHANGED
data/lib/BOAST/Algorithm.rb
CHANGED
@@ -223,7 +223,11 @@ module BOAST
|
|
223
223
|
def ==(x)
|
224
224
|
return Expression::new("==",self,x)
|
225
225
|
end
|
226
|
-
|
226
|
+
|
227
|
+
def !=(x)
|
228
|
+
return Expression::new(BOAST::Different,self,x)
|
229
|
+
end
|
230
|
+
|
227
231
|
def +(x)
|
228
232
|
return Expression::new(BOAST::Addition,self,x)
|
229
233
|
end
|
@@ -553,6 +557,10 @@ module BOAST
|
|
553
557
|
return Expression::new("==",self,x)
|
554
558
|
end
|
555
559
|
|
560
|
+
def !=(x)
|
561
|
+
return Expression::new(BOAST::Different,self,x)
|
562
|
+
end
|
563
|
+
|
556
564
|
def >(x)
|
557
565
|
return Expression::new(">",self,x)
|
558
566
|
end
|
@@ -1371,14 +1379,15 @@ module BOAST
|
|
1371
1379
|
def to_str_fortran(constants, first)
|
1372
1380
|
s = ""
|
1373
1381
|
if first then
|
1374
|
-
s += "
|
1382
|
+
s += " "*BOAST::get_indent_level
|
1383
|
+
s += "select case (#{@expression})\n"
|
1375
1384
|
BOAST::increment_indent_level
|
1376
1385
|
else
|
1377
1386
|
BOAST::decrement_indent_level
|
1378
1387
|
end
|
1379
1388
|
s += " "*BOAST::get_indent_level
|
1380
1389
|
if constants and constants.size>0 then
|
1381
|
-
s += "case #{constants.join(" : ")}"
|
1390
|
+
s += "case (#{constants.join(" : ")})"
|
1382
1391
|
else
|
1383
1392
|
s += "case default"
|
1384
1393
|
end
|
@@ -1389,7 +1398,7 @@ module BOAST
|
|
1389
1398
|
def to_str_c(constants, first)
|
1390
1399
|
s = ""
|
1391
1400
|
if first then
|
1392
|
-
|
1401
|
+
s += " "*BOAST::get_indent_level
|
1393
1402
|
s += "switch(#{@expression}){\n"
|
1394
1403
|
BOAST::increment_indent_level
|
1395
1404
|
else
|
@@ -1480,10 +1489,10 @@ module BOAST
|
|
1480
1489
|
def to_str_fortran(condition, first)
|
1481
1490
|
s = ""
|
1482
1491
|
if first then
|
1483
|
-
s += "if #{condition} then"
|
1492
|
+
s += "if ( #{condition} ) then"
|
1484
1493
|
else
|
1485
1494
|
if condition then
|
1486
|
-
s += "else if #{condition} then"
|
1495
|
+
s += "else if ( #{condition} ) then"
|
1487
1496
|
else
|
1488
1497
|
s += "else"
|
1489
1498
|
end
|
@@ -1576,7 +1585,7 @@ module BOAST
|
|
1576
1585
|
def to_str_fortran
|
1577
1586
|
s = ""
|
1578
1587
|
s += "do #{@iterator}=#{@begin}, #{@end}"
|
1579
|
-
s += ", #{@step}" if
|
1588
|
+
s += ", #{@step}" if 1 != @step
|
1580
1589
|
return s
|
1581
1590
|
end
|
1582
1591
|
def to_str_c
|
data/lib/BOAST/CKernel.rb
CHANGED
@@ -61,6 +61,7 @@ module BOAST
|
|
61
61
|
@@compiler_default_options.each_key { |k|
|
62
62
|
@@compiler_default_options[k] = ENV[k.to_s] if ENV[k.to_s]
|
63
63
|
}
|
64
|
+
@@compiler_default_options[:LD] = ENV["LD"] if ENV["LD"]
|
64
65
|
@@verbose = ENV["VERBOSE"] if ENV["VERBOSE"]
|
65
66
|
end
|
66
67
|
|
@@ -341,7 +342,7 @@ EOF
|
|
341
342
|
def build(options = {})
|
342
343
|
compiler_options = BOAST::get_compiler_options
|
343
344
|
compiler_options.update(options)
|
344
|
-
return build_opencl(
|
345
|
+
return build_opencl(compiler_options) if @lang == BOAST::CL
|
345
346
|
ldflags = self.setup_compiler(compiler_options)
|
346
347
|
extension = ".c" if @lang == BOAST::C
|
347
348
|
extension = ".cu" if @lang == BOAST::CUDA
|
data/lib/BOAST/Operators.rb
CHANGED
@@ -201,6 +201,17 @@ module BOAST
|
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
204
|
+
class Different < Operator
|
205
|
+
def Different.to_s(arg1, arg2, return_type)
|
206
|
+
return basic_usage(arg1, arg2)
|
207
|
+
end
|
208
|
+
|
209
|
+
def Different.basic_usage(arg1, arg2)
|
210
|
+
return "#{arg1} /= #{arg2}" if BOAST::get_lang == FORTRAN
|
211
|
+
return "#{arg1} != #{arg2}"
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
204
215
|
class Affectation < Operator
|
205
216
|
def Affectation.to_s(arg1, arg2, return_type)
|
206
217
|
if BOAST::get_lang == C then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: BOAST
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.95'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: narray
|