| VF_subV_chi2 | VD_subV_chi2 | VE_subV_chi2 |   
 | 
| Function | Subtract two vectors and calculate the c2 merit function |  
  | 
| Syntax C/C++ | #include <VFmath.h>
 float VF_subV_chi2( fVector Z, fVector X, fVector Y, uifVector InvVar,  size ); |  
| C++ VecObj | #include <OptiVec.h>
 T vector<T>::subV_chi2( const vector<T>& X, const vector<T>& Y, const vector<T>& InvVar ); |  
| Pascal/Delphi | uses VFmath;
 function VF_subV_chi2( Z, X, Y, InvVar:fVector; size:UIntSize ): Single; |  
  | 
| CUDA function C/C++ | #include <cudaVFmath.h>
 int cudaVF_subV_chi2( float *h_RetVal, fVector d_Z, fVector d_X, fVector d_Y, fVector d_InvVar, ui size );
 int cusdVF_subV_chi2( float *d_RetVal, fVector d_Z, fVector d_X, fVector d_Y, fVector d_InvVar, ui size );
 float VFcu_subV_chi2( fVector h_Z, fVector h_X, fVector h_Y, fVector h_InvVar, ui size );
 |  
| CUDA function Pascal/Delphi | uses VFmath;
 function cudaVF_subV_chi2( var h_RetVal:Single; d_Z, d_X, d_Y, d_InvVar:fVector; size:UIntSize ): IntBool;
 function cusdVF_subV_chi2( d_RetVal:PSingle; d_Z, d_X, d_Y, d_InvVar:fVector; size:UIntSize ): IntBool;
 |  
  | 
| Description | Zi = Xi - Yi
 c2 = Summe( 1/si2 * (Zi)2 )
This function saturates infinities into HUGE_VAL and treats input values of ±NAN as ±HUGE_VAL. The reasoning behind this is that V?_subV_chi2 finds its main use inside nonlinear fitting routines. If the fitting routine tries a bad parameter set, you want it to get the feedback that the guess was far off; you do not want it to be punished by an exception or programme crash.
  |  
  | 
 | 
| Return value | c2 merit function of the difference of the two vectors |  
  | 
 |