numpy.bitwise_and.reduce comportarse inesperadamente?

losufunc.reduce para numpy.bitwise_and.reduce no parece comportarse correctamente ... ¿estoy haciendo un mal uso?

>>> import numpy as np
>>> x = [0x211f,0x1013,0x1111]
>>> np.bitwise_or.accumulate(x)
array([ 8479, 12575, 12575])
>>> np.bitwise_and.accumulate(x)
array([8479,   19,   17])
>>> '%04x' % np.bitwise_or.reduce(x)
'311f'
>>> '%04x' % np.bitwise_and.reduce(x)
'0001'

El resultado dereduce() debe ser el último valor deaccumulate() y no lo es. ¿Que me estoy perdiendo aqui?

Por el momento, puedo solucionar el problema utilizando la identidad de DeMorgan (cambiando OR y AND, e invirtiendo entrada y salida):

>>> ~np.bitwise_or.reduce(np.invert(x))
17

Respuestas a la pregunta(1)

Su respuesta a la pregunta