@@ -12,12 +12,19 @@ module Blas
12
12
# defined from data-types of arguments.
13
13
# @param [Symbol] func function name without BLAS char.
14
14
# @param args arguments passed to Blas function.
15
+ # @param kwargs keyword arguments passed to Blas function.
15
16
# @example
16
17
# c = Numo::Linalg::Blas.call(:gemm, a, b)
17
- def self . call ( func , *args )
18
+ def self . call ( func , *args , ** kwargs )
18
19
fn = ( Linalg . blas_char ( *args ) + func . to_s ) . to_sym
19
20
fn = FIXNAME [ fn ] || fn
20
- send ( fn , *args )
21
+ if kwargs . empty?
22
+ # This conditional branch is necessary to prevent ArgumentError
23
+ # that occurs in Ruby 2.6 or earlier.
24
+ send ( fn , *args )
25
+ else
26
+ send ( fn , *args , **kwargs )
27
+ end
21
28
end
22
29
23
30
end
@@ -34,12 +41,19 @@ module Lapack
34
41
# defined from data-types of arguments.
35
42
# @param [Symbol,String] func function name without BLAS char.
36
43
# @param args arguments passed to Lapack function.
44
+ # @param kwargs keyword arguments passed to Lapack function.
37
45
# @example
38
46
# s = Numo::Linalg::Lapack.call(:gesv, a)
39
- def self . call ( func , *args )
47
+ def self . call ( func , *args , ** kwargs )
40
48
fn = ( Linalg . blas_char ( *args ) + func . to_s ) . to_sym
41
49
fn = FIXNAME [ fn ] || fn
42
- send ( fn , *args )
50
+ if kwargs . empty?
51
+ # This conditional branch is necessary to prevent ArgumentError
52
+ # that occurs in Ruby 2.6 or earlier.
53
+ send ( fn , *args )
54
+ else
55
+ send ( fn , *args , **kwargs )
56
+ end
43
57
end
44
58
45
59
end
0 commit comments