#pragma once #include "BaseFun.h" #include using namespace std; class BASEFUN_EXPORT CalcMethod { public: CalcMethod(void); ~CalcMethod(void); public: //\/\/\/\/\/\/\/\/\/\/\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ void static stl_dt(float t,float de,int ifmin,int ifmax,float dfinterval,float rb,float R_TOOL,float DEN_BORE_FLUID, float VIS, float POR,float dkb,float dkbf,float PERM,float vbf,float VS,float FMST,float SPACEE,complex kew[512],float FWFSYN[1024],complexCFDWV0[1024],float dtf[3]); float static prr_N(float wave_R[8][1024],float DT_INTERVAL,float TIME_L,float SPACE_RLEV,float time,float dt,int MMM); complex static DET(float vp, float vs,float vf,float den,float R, float w ,int IONLY); void static CFB(complex Z, complex wi[2], complex wk[2], int IONLY); int static amp(float x[1024], int nl, float xr[1024],int i0); void static fft842(int INN, int N, float *X, float *Y); void static r2tx(int NTHPO, float *CR0, float *CI0); void static r4tx(int NTHPO, float *CR0, float *CI0); void static r8tx(int NXTLT,int NTHPO,int LENGT,float *CR0,float *CI0); void static wavelet( float INTA[1024],float ww[1024],int IP,int ipoint); void static DWT(float vp[7][1024],float B[7][1024],int M,int N,float H[4],float C1[8],float G[2]); void static RECON_DWT(float AA[7][1024],float B[7][1024], int M,int N,float H[4],float C1[8],float K1[6]); complex static GetRootMonteCarlo(complex k0,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL,float df); float static rnd(float* r); float static Func(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); float static FuncD(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); float static Func_M11(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); float static Func_M21(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); float static Get_EW(float k0,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL,float df); complex static Ibessel(int n,complex x); complex static Kbessel(int n,complex x); inline bool static doubleEqual(float lhs, float rhs); int static reversion(int vp[4]); int static reversion3(int vp[3]); float static TransformativeIntegerBessel1stFunction(int n,float x); float static TransformativeIntegerBessel2ndFunction(int n, float x); void static waveseparate( complex h[3],float s[3],float SPACE_INTERVAL,float w,complex W[8]); void static waveseparate2( complex h[2],float s[2],float SPACE_INTERVAL,float w,complex W[8]); void static WAVEseparate( float wf[8][1024],float hwf1[1024],float hwf2[1024],float hwf3[1024],float dtst,float dfinterval,float SPACE_INTERVAL,int NSAMPLE,float fmin,float fmax); void static WAVEseparate2( float wf[8][1024],float hwf1[1024],float hwf2[1024],float dtst,float dfinterval,float SPACE_INTERVAL,int NSAMPLE,int iflag,float fmin,float fmax); void static waveseparate3(complex h[3],float s[3],float SPACE_INTERVAL,float w,complex W[8]); void static setrootQR(complex R[8][3],complex h[],complex Q[8][8],complex B[]); void static splitCQR(complex Z[8][3],complex Q[8][8]); void static recursion(complex Z[8][3],int n,complex Q[8][8]); void static splitC3QR(complex z[3][3],complex h[3][3]); void static wavesp2(complex h[2],float s[2],float d,float w,complex W[8]); void static setrootQR2(complex Z[8][2],complex Q[8][8], complex h[2],complex W[8]); void static splitQR2(complex Z[8][2],complex Q[8][8]); float static Func1(float x,float y ,float Vpv,float Vsv,float Vsh,float vf,float denf, float den,float R,float w,int n,float MTOOL,float R_TOOL); complex static GetRootMonteCarlo1(float Vpv,float Vsv,float Vsh,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); complex static xianjie(float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); complex static Funcxianjie(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); complex static interposek(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL); complex static interposeW(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL,float df); void static G_L(float r,float r_,float k,float w,float denf,float gl[2][2]); void static MM_(float M[2][2],float M_[2][2]); void static M_M(float M1[2][2],float M2[2][2],float M[2][2]); complex static initialvalue(float x,float y ,float vp,float vs,float vf,float denf,float den,float R,float w,int n,float MTOOL,float R_TOOL,float df); };