static double Sum_of_Number_Series_D(int Initial_Index, double Delta, Member_of_Numeric_Series Member, ref int Final_Index) { double mem_k, pattial_sum, global_sum = 0.0; int k = Initial_Index; bool flag; do { mem_k = Member(k); global_sum += mem_k; flag = (Math.Abs(mem_k) >= Delta); if (flag) { k++; } }while (flag); int K = k - Initial_Index + 1; k++; do { pattial_sum = Sum_of_Number_Series(k, k + K, Member); global_sum += pattial_sum; flag = (Math.Abs(pattial_sum / global_sum) >= Delta); if (flag) { k = k + K + 1; } } while (flag); Final_Index = k + K; return(global_sum); }
public static double Sum_of_Number_Series(int Initial_Index, int Last_Index, Member_of_Numeric_Series Member) { double global_sum = 0.0; for (int k = Initial_Index; k <= Last_Index; k++) { global_sum += Member(k); } return(global_sum); }