[Numpy-discussion] Current ufunc signatures for review

Charles R Harris charlesr.harris@gmail....
Sun May 25 13:12:36 CDT 2008


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20080525/24b01378/attachment-0001.html 


More information about the Numpy-discussion mailing list