public void JiaXing(double[] Lp,
double[] Wp,
double[] Np,
int n,
int n1,
int n2,
double N,
out double a,
out double b, 
out double c,
out double r,
out double Gx,
out double Gy,
out double Nr,
out double Er,
out double dRd,
out double dfw,
out double dNp,
out double dWp,
out double dLp,
out int nPointsReturn,
int nPrecision,
out double dBDFw)
        {            int i;
            double[] Wp_log = new double[0];
            for (i = 0; i < n; i++)
            {
                double my_wp = Wp[i];
                if (my_wp == 0) my_wp = 0.01;
                Wp_log[i] = Math.Log10(my_wp);
           
                Gx = Np[i];
                Gy= Wp_log[i];
            }
            if (n1 < 0)
            {
                LinearReturn(Np, Wp_log, n, out a, out b,out r);
            }
            else
            {
                LinearReturn(Np + n1, Wp_log + n1, n2 - n1 + 1, a, b, r);
            }
         }