Create hex

Compute the interpolated value for the given input value base on the
   -- values read into the table.
   --
   -- The actual algorithm used is a piecewise linear interpolation. There is an
   -- explanation of this algorithm using hypercubes in the SDF. Scaling factors
   -- were added to support the general case of non-equal sides.
   --
   -- This routine is built for speed. But I do see two things that could be done
   -- to further speed it up if nessecary.
   -- o  Change the Table parameter to an "in out". The compiler may be able to
   --    do a much better job optimizing the code when it is not dealing with
   --    an aliased object. This would require the function to be changed to a
   --    a procedure though. Yuk!
   -- o  Change the "zone search algorithm". Currently it uses a kind of linear
   --    (although the top level is binary). A full binary search could speed
   --    things up when the correct zone is far from the last zone. However, if the
   --    zones don''t change much (which is probably the case) then a binary
   --    search could actually slow it down.