@@ -51,7 +51,7 @@ def set_numexpr_threads(n = None):
51
51
pass
52
52
53
53
54
- def _evaluate_standard (op , op_str , a , b , raise_on_error = True ):
54
+ def _evaluate_standard (op , op_str , a , b , raise_on_error = True , ** eval_kwargs ):
55
55
""" standard evaluation """
56
56
return op (a ,b )
57
57
@@ -79,7 +79,7 @@ def _can_use_numexpr(op, op_str, a, b, dtype_check):
79
79
80
80
return False
81
81
82
- def _evaluate_numexpr (op , op_str , a , b , raise_on_error = False ):
82
+ def _evaluate_numexpr (op , op_str , a , b , raise_on_error = False , ** eval_kwargs ):
83
83
result = None
84
84
85
85
if _can_use_numexpr (op , op_str , a , b , 'evaluate' ):
@@ -92,7 +92,7 @@ def _evaluate_numexpr(op, op_str, a, b, raise_on_error = False):
92
92
result = ne .evaluate ('a_value %s b_value' % op_str ,
93
93
local_dict = { 'a_value' : a_value ,
94
94
'b_value' : b_value },
95
- casting = 'safe' )
95
+ casting = 'safe' , ** eval_kwargs )
96
96
except (ValueError ), detail :
97
97
if 'unknown type object' in str (detail ):
98
98
pass
@@ -142,7 +142,7 @@ def _where_numexpr(cond, a, b, raise_on_error = False):
142
142
# turn myself on
143
143
set_use_numexpr (True )
144
144
145
- def evaluate (op , op_str , a , b , raise_on_error = False , use_numexpr = True ):
145
+ def evaluate (op , op_str , a , b , raise_on_error = False , use_numexpr = True , ** eval_kwargs ):
146
146
""" evaluate and return the expression of the op on a and b
147
147
148
148
Parameters
@@ -158,7 +158,7 @@ def evaluate(op, op_str, a, b, raise_on_error=False, use_numexpr=True):
158
158
"""
159
159
160
160
if use_numexpr :
161
- return _evaluate (op , op_str , a , b , raise_on_error = raise_on_error )
161
+ return _evaluate (op , op_str , a , b , raise_on_error = raise_on_error , ** eval_kwargs )
162
162
return _evaluate_standard (op , op_str , a , b , raise_on_error = raise_on_error )
163
163
164
164
def where (cond , a , b , raise_on_error = False , use_numexpr = True ):
0 commit comments