BOAST 0.94 → 0.95

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.
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'BOAST'
3
- s.version = "0.94"
3
+ s.version = "0.95"
4
4
  s.author = "Brice Videau"
5
5
  s.email = "brice.videau@imag.fr"
6
6
  s.homepage = "https://forge.imag.fr/projects/boast/"
@@ -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 += "select case #{@expression}\n"
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
- s += " "*BOAST::get_indent_level
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 @step != 1
1588
+ s += ", #{@step}" if 1 != @step
1580
1589
  return s
1581
1590
  end
1582
1591
  def to_str_c
@@ -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(comiler_options) if @lang == BOAST::CL
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
@@ -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.94'
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-10 00:00:00.000000000 Z
12
+ date: 2014-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: narray