public class cspline{ double[] x,y,b,c,d; int n => x.Length; int binsearch(double z){ if(zx[n-1]) throw new System.ArgumentException(); int i=0, j=n-1; while(j-i>1){ int mid=(i+j)/2; if(z>x[mid]) i=mid; else j=mid;} return i; } public cspline(double[] xs,double[] ys){ x=(double[])xs.Clone(); y=(double[])ys.Clone(); if(ys.Length=0;i--) b[i]=(B[i]-Q[i]*b[i+1])/D[i]; for(int i=0;i