src/main/java/com/billybyte/dse/models/spread/newtonraphsonforspreads/Derivative.java
public double derivation(double InputFunc)
		{
		
			double value=0.0;
            double X2=0.0;
            double X1=0.0;
                        
             double diff = h;
			 X2=deriveFunction(InputFunc-diff);
             X1=deriveFunction(InputFunc+diff);
             value=((X1-X2)/(2*h));
			return value;
		}
/**
		 * IF you are going to override the function that produces the first derivative,
		 *   like Vega, you override this function.
		 *   
		 * @param InputFunc
		 * @return
		 */
IF you are going to override the function that produces the first derivative,
like Vega, you override this function.


IF you are going to override the function that produces the first derivative like Vega you override this function .
public double derivation(double InputFunc)
		{
			double value=0.0;
            double X2=0.0;
            double X1=0.0;
             double diff = h;
			 X2=deriveFunction(InputFunc-diff);
             X1=deriveFunction(InputFunc+diff);
             value=((X1-X2)/(2*h));
			return value;
		}
public double derivation ( double InputFunc ) { double value = 0.0 ; double X2 = 0.0 ; double X1 = 0.0 ; double diff = h ; X2 = deriveFunction ( InputFunc - diff ) ; X1 = deriveFunction ( InputFunc + diff ) ; value = ( ( X1 - X2 ) / ( 2 * h ) ) ; return value ; }
IF you are going to override the function that produces the first derivative,
   like Vega, you override this function.
IF you are going to override the function that produces the first derivative like Vega you override this function .