I get the following:

```
import numpy
print id(numpy.float64(100)) ==  id(numpy.float64(10))
print numpy.float64(100) == numpy.float64(10)

```

gives:

```
True
False

```

Note that if I create the two float64 objects and then compare them then it appears to work as expected:

```
a = numpy.float64(10)
b = numpy.float64(100)
print a==b, id(a)==id(b)

```

gives:

```
False
False

```

Based on <https://docs.python.org/2/reference/datamodel.html> shouldn't the id of two objects always differ if their values differ? How can I get the id to match if the values are different?

Is this some sort of bug in numpy?