src/search_engine/relja_retrival/external/KMCode_relja/descriptor/dog.cpp
/* Return a number in the range [-0.5, 0.5] that represents the location
   of the peak of a parabola passing through the 3 samples.  The center
   value is assumed to be greater than or equal to the other values if
   positive, or less than if negative.
*/
Return a number in the range [-0.5, 0.5] that represents the location
of the peak of a parabola passing through the 3 samples.  The center
value is assumed to be greater than or equal to the other values if
positive, or less than if negative.
Return a number in the range [ - 0 . 5 0 . 5 ] that represents the location of the peak of a parabola passing through the 3 samples . The center value is assumed to be greater than or equal to the other values if positive or less than if negative .
float InterpPeak(float a, float b, float c)
{
    if (b < 0.0) {
	a = -a; b = -b; c = -c;
    }
     assert(b >= a  &&  b >= c);
    return 0.5 * (a - c) / (a - 2.0 * b + c);
}
float InterpPeak ( float a , float b , float c ) { if ( b < 0.0 ) { a = - a ; b = - b ; c = - c ; } assert ( b >= a && b >= c ) ; return 0.5 * ( a - c ) / ( a - 2.0 * b + c ) ; }
Return a number in the range [-0.5, 0.5] that represents the location
of the peak of a parabola passing through the 3 samples.
Return a number in the range [ - 0 . 5 0 . 5 ] that represents the location of the peak of a parabola passing through the 3 samples .
//if(b < a  ||  b < c)cout <<"ass "<< a << "  "<< b << " "<< c<< endl;