I meant just "use logical operand not, i.e. ~ instead of ad-hoc-seems-to-do-what-I-need -, since who knows what semantic it would have later when applied to booleans,...

```
*In [6]: -np.isnan(d)
Out[6]: array([ True,  True,  True, False,  True,  True,  True], dtype=bool)

*In [7]: 0-np.isnan(d)
Out[7]: array([ 0,  0,  0, -1,  0,  0,  0])

*In [8]: ~np.isnan(d)
Out[8]: array([ True,  True,  True, False,  True,  True,  True], dtype=bool)
```

huh#2: "The '<' operator gives False if either side has a NaN." -- I thought this comparison checks if all non-nan elements of d are less than epsilon.... and thus NaN are ignored in d... so what did you mean by "side has a NaN"? epsillon could be a NaN here or what?