### The minimum, the maximum, and the typos therein

Blake Tregre found a typo on page 55 of Visualizing Data in one of the comments:

// Set the value of m arbitrarily high, so the first value // found will be set as the maximum. float m = MIN_FLOAT;

That should instead read something like:

// Set the value of m to thelowest possiblevalue, // so that the first value found will automatically be larger. float m = MIN_FLOAT;

This also reminds me that the Table class used in chapter 4, makes use of `Float.MAX_VALUE` and `-Float.MAX_VALUE`, which are inherited from Java. Processing has constants named `MAX_FLOAT` and `MIN_FLOAT` that do the same thing. We added the constants because `-Float.MAX_VALUE` seems like especially awkward syntax when you’re just trying to get the smallest possible float. The Table class was written sometime before the constants were added to the Processing syntax, so they use the Java approach.

There is a `Float.MIN_VALUE` in Java, however the spec does a very unfortunate thing, because `MIN_VALUE` is defined as “A constant holding the smallest positive nonzero value of type float”, which sounds promising until you realize that it just means a very tiny positive number, not the *minimum* possible value for float. It’s not clear why they thought this would be a more useful constant (or useful at all).

And to make things even more confusing, `Integer.MAX_VALUE` and `Integer.MIN_VALUE` behave more like the way you might expect, where the `MIN_VALUE` is in fact that the lowest (most negative) value for an int. Had they used the same definition as `Float.MIN_VALUE`, then `Integer.MIN_VALUE` would equal 1. Which illustrates just how silly it is to do that for the Float class.