On Sunday, October 3, 2021 at 9:55:15 PM UTC+8, hongy...@gmail.com wrote: > On Sunday, October 3, 2021 at 8:38:16 PM UTC+8, ju...@diegidio.name wrote: > > On Sunday, 3 October 2021 at 14:21:13 UTC+2, hongy...@gmail.com wrote: > > > On Sunday, October 3, 2021 at 6:31:05 PM UTC+8, ju...@diegidio.name > > > wrote: > > > > > > Then you can guess that numpy overrides it and gives you *logical* > > > > negation of boolean values, > > > > > > I try to dig through the numpy source code to pinning point the > > > overriding/monkey patching/decorating code snippets, as follows: > > And you keep missing the point: look up numpy's *documentation* for that, > > not any source code. > I find the relevant explanation here [1]: > > numpy.invert > [...] > Compute bit-wise inversion, or bit-wise NOT, element-wise. > > Computes the bit-wise NOT of the underlying binary representation of the > integers in the input arrays. This ufunc implements the C/Python operator ~. > [...] > The ~ operator can be used as a shorthand for np.invert on ndarrays. > > x1 = np.array([True, False]) > > ~x1 > array([False, True]) > > [1] > https://numpy.org/doc/stable/reference/generated/numpy.invert.html#numpy-invert >
Or use the following commands in IPython: import numpy as np np.invert? np.info(np.invert) > HZ -- https://mail.python.org/mailman/listinfo/python-list