Hi All,
Here is the current behavior of the ufuncs and some comments. They don't yet
cover mixed types for binary functions,
but when they do we will see things like:
In [7]: power(True,10)
Out[7]:
array([ 0.5822807 , 0.66568381, 0.11748811, 0.97047323, 0.60095205,
0.81218886, 0.0167618 , 0.80544138, 0.59540082, 0.82414302])
Which looks suspect ;)
1) Help strings on ufuncs don't work. This seems to be a problem with the
help function, as
printing the relevant __doc__ works fine. The docstrings are currently
defined in
code_generators/generate_umath.py and add_newdoc doesn't seem to work for
them.
2) Complex divmod(), // and % are deprecated, should we make them raise
errors?
3) The current behavior of remainder for complex is bizarre. Nor does it
raise a deprecation warning.
4) IMHO, absolute('?') should return 'b'
5) Negative applied to '?' is equivalent to not. This gives me mixed
feelings; the same functionality
is covered by invert and logical_not.
6) The fmod ufunc applied to complex returns AttributeError. Shouldn't it be
a TypeError?
7) Should degrees and radians work on complex? Hey, they work on booleans
and it's just scaling.
conjugate
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
absolute
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
f , d , g ,
negative
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
sign
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
invert
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
degrees
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
radians
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
arccos
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
arccosh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
arcsin
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
arcsinh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
arctan
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
arctanh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
cos
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
sin
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
tan
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
cosh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
sinh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
tanh
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
exp
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
expm1
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
log
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
log10
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
log1p
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
sqrt
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
ceil
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
floor
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
fabs
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
rint
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
isnan
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
isinf
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
isfinite
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
signbit
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
err, err, err,
left_shift
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
right_shift
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
add
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
subtract
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
multiply
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
divide
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
floor_divide
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
true_divide
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
F , D , G ,
fmod
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
err, err, err,
power
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
greater
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
greater_equal
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
less
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
less_equal
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
equal
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
not_equal
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
logical_and
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
logical_not
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
logical_or
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
logical_xor
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,
? , ? , ? ,
maximum
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
minimum
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
bitwise_and
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
bitwise_or
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
bitwise_xor
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: ? , b , h , i , l , q , B , H , I , L , Q , err, err, err,
err, err, err,
arctan2
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
remainder
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: b , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
O , O , err,
hypot
in: ? , b , h , i , l , q , B , H , I , L , Q , f , d , g ,
F , D , G ,
out: f , f , f , d , d , d , f , f , d , d , d , f , d , g ,
err, err, err,
Chuck