title: lower bound upper bound giving same results
body: <p>I'm trying to find the nearest value in an sorted array, but both upper_bound and lower_bound are giving the highest value.</p>
  
  <pre><code>float abc[] = {1,3,4,5,6,7,8,9};
  
  float *a  = lower_bound(abc, abc+8, 3.2);
  cout&lt;&lt; *a;
  
  return 0;
  </code></pre>