📄 camm_dpa.h
字号:
#undef ddp#define ddp(a_,b_,c_) dp(a_,b_,c_) #undef ddpp#define ddpp(a_,b_,c_,d_,e_) dpp(a_,b_,c_,d_,e_)#undef plaa1_2#define plaa1_2(a_) /* px(CREG) */pls(a_ ## 0,si,CREG) #undef wa1_2#define wa1_2(a_) w1_2(a_)#undef dp1_2#define dp1_2(a_,b_,c_) cp plbd(a_ ## 0,b_) dprs(c_) wbd(a_ ## 0,b_)#undef dpp1_2#define dpp1_2(a_,b_,c_,d_,e_) cp plbd(a_ ## 0,b_) dprps(c_,d_,e_) wbd(a_ ## 0,b_)#undef ddp1_2#define ddp1_2(a_,b_,c_) dp1_2(a_,b_,c_) #undef ddpp1_2#define ddpp1_2(a_,b_,c_,d_,e_) dpp1_2(a_,b_,c_,d_,e_)#undef plaa1_4/* #define plaa1_4(a_) pls(a_ ## 0,si,CREG) */#undef wa1_4/* #define wa1_4(a_) w1_4(a_) */#undef dp1_4/* #define dp1_4(a_,b_,c_) cp plbs(a_ ## 0,b_) dprs(c_) wbs(a_ ## 0,b_) */#undef dpp1_4/* #define dpp1_4(a_,b_,c_,d_,e_) cp plbs(a_ ## 0,b_) dprps(c_,d_,e_) wbs(a_ ## 0,b_) */#undef ddp1_4/* #define ddp1_4(a_,b_,c_) dp1_4(a_,b_,c_) */#undef ddpp1_4/* #define ddpp1_4(a_,b_,c_,d_,e_) dpp1_4(a_,b_,c_,d_,e_) */#undef R1#define R1 4#undef R2#define R2 5#undef R3#define R3 6#undef R4#define R4 7#else#ifdef NO_TRANSPOSE#undef t0#define t0(a_) 1#undef s0#define s0(a_) a_#undef t8#define t8(a_) 2#undef s8#define s8(a_) a_#undef w#define w(a_) fp(a_ ## 0,si) fp(a_ ## 8,si)#undef w1_2#define w1_2(a_) fp(a_ ## 0,si)#undef mpx#define mpx(a_) fl(0,si) fc(M(a_,2))#undef madd#define madd(a_,b_,c_) faa(a_,b_)#undef ulfa#define ulfa(a_) fc(0)#else#undef t0#define t0(a_) a_#undef s0#define s0(a_) 1#undef t8#define t8(a_) a_#undef s8#define s8(a_) 2#undef w#define w(a_) #undef w1_2#define w1_2(a_) #undef mpx#define mpx(a_) fz#ifdef BETA0#undef madd#define madd(a_,b_,c_)#else#undef madd#define madd(a_,b_,c_) faa(a_,b_)#endif#undef ulfa#define ulfa(a_) madd(0,si,a_) fp(0,si)#endif#ifndef GER#undef plaa1_2#define plaa1_2(a_) fl(a_ ## 0,si) #undef wa1_2#define wa1_2(a_) w1_2(a_)#ifdef NO_TRANSPOSE#undef ddp1_2#define ddp1_2(a_,b_,c_) fl(a_ ## 0,b_) fm(M(s0(c_),1),0) fap(0,t0(c_)) #undef dp1_2#define dp1_2(a_,b_,c_) ddp1_2(a_,b_,c_)#else#undef ddp1_2#define ddp1_2(a_,b_,c_) fl(a_ ## 0,b_) fm(s0(c_),0) fap(0,M(t0(c_),1)) #undef dp1_2#define dp1_2(a_,b_,c_) fl(a_ ## 0,b_) fmp(0,s0(c_)) fap(0,M(t0(c_),2))#endif#else#undef plaa1_2#define plaa1_2(a_) fl(a_ ## 0,si) #undef wa1_2#define wa1_2(a_)#undef ddp1_2#define ddp1_2(a_,b_,c_) fd(M(s0(c_),2)) fm(t0(c_),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) #undef dp1_2#define dp1_2(a_,b_,c_) fm(M(s0(c_),2),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) #endif#undef plaa#define plaa(a_) fl(a_ ## 0,si) fl(a_ ## 8,si) fx1#ifndef GER#undef wa#define wa(a_) w(a_)#undef ddp#define ddp(a_,b_,c_) fl(a_ ## 0,b_) fm(s0(c_),0) fl(a_ ## 8,b_) \ fm(P(s8(c_),1),0) fx1 fap(0,P(t0(c_),1)) \ fap(0,t8(c_))#undef ddpp#define ddpp(a_,b_,c_,d_,e_) fl(a_ ## 0,b_) fm(s0(c_),0) fl(a_ ## 8,b_) \ fm(P(s8(c_),1),0) pf(d_,e_) fx1 fap(0,P(t0(c_),1)) \ fap(0,t8(c_))/* #define ddp(a_,b_,c_) fd(M(s0(c_),1)) fma(a_ ## 0,b_) fap(0,t0(c_)) \ *//* fd(M(s8(c_),1)) fma(a_ ## 8,b_) fap(0,t8(c_)) *//* #define ddpp(a_,b_,c_,d_,e_) fd(M(s0(c_),1)) fma(a_ ## 0,b_) fap(0,t0(c_)) \ *//* \ *//* fd(M(s8(c_),1)) fma(a_ ## 8,b_) fap(0,t8(c_)) pf(d_,e_) */#ifdef NO_TRANSPOSE#undef dp#define dp(a_,b_,c_) ddp(a_,b_,c_)#undef dpp#define dpp(a_,b_,c_,d_,e_) ddpp(a_,b_,c_,d_,e_)#else#undef dp#define dp(a_,b_,c_) fl(a_ ## 0,b_) fmp(0,s0(c_)) fl(a_ ## 8,b_) \ fmp(0,s8(c_)) fap(0,M(t0(c_),1)) fap(0,M(t8(c_),2))#undef dpp#define dpp(a_,b_,c_,d_,e_) fl(a_ ## 0,b_) pf(d_ ,e_) fmp(0,s0(c_)) fl(a_ ## 8,b_) \ fmp(0,s8(c_)) fap(0,M(t0(c_),1)) fap(0,M(t8(c_),2))/* #define dp(a_,b_,c_) fma(a_ ## 0,b_) fap(0,M(t0(c_),1)) \ *//* fma(a_ ## 8,b_) fap(0,M(t8(c_),2)) *//* #define dpp(a_,b_,c_,d_,e_) fma(a_ ## 0,b_) fap(0,M(t0(c_),1)) \ *//* \ *//* fma(a_ ## 8,b_) fap(0,M(t8(c_),2)) pf(d_,e_) */#endif#else#undef wa#define wa(a_)#undef ddp#define ddp(a_,b_,c_) fd(M(s0(c_),1)) fm(t0(c_),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) \ fd(M(s8(c_),1)) fm(t8(c_),0) faa(a_ ## 8,b_) fp(a_ ## 8,b_)#undef ddpp#define ddpp(a_,b_,c_,d_,e_) fd(M(s0(c_),1)) fm(t0(c_),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) \ fd(M(s8(c_),1)) fm(t8(c_),0) faa(a_ ## 8,b_) fp(a_ ## 8,b_) pf(d_,e_)#undef dp#define dp(a_,b_,c_) fm(M(s0(c_),1),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) \ fm(M(s8(c_),2),0) faa(a_ ## 8,b_) fp(a_ ## 8,b_)#undef dpp#define dpp(a_,b_,c_,d_,e_) fm(M(s0(c_),1),0) faa(a_ ## 0,b_) fp(a_ ## 0,b_) \ fm(M(s8(c_),2),0) faa(a_ ## 8,b_) fp(a_ ## 8,b_) pf(d_,e_)#endif#undef R1#define R1 3#undef R2#define R2 4#undef R3#define R3 5#undef R4#define R4 6#endif#endif/****************************************************************************** * Double Precision Complex Macros ******************************************************************************/ #ifdef DCPLX#ifdef ATL_SSE2#ifdef NO_TRANSPOSE#if NDPM > 3 #error Max NDPM is 3 for DCPLX NO_TRANSPOSE#endif#undef plax#define plax#undef R1#define R1 2#undef R2#define R2 4#undef R3#define R3 6#undef R4#define R4 6#undef TREG#define TREG 1#undef SREG#define SREG 0#undef CREG#define CREG 0#ifdef GER#undef AREG#define AREG 0#undef targ#define targ(a_) AREG#undef wb#define wb(a_,b_) pu(AREG,a_,b_)#undef wbd/* #define wbd(a_,b_) pud(AREG,a_,b_) */#undef w#define w(a_)#undef w1_2/* #define w1_2(a_) */#else#undef AREG#define AREG TREG#undef targ#define targ(a_) CREG#undef wb#define wb(a_,b_)#undef wbd/* #define wbd(a_,b_) */#undef w#define w(a_) pu(CREG,a_ ## 0,si)#undef w1_2/* #define w1_2(a_) pud(CREG,a_ ## 0,si) */#endif#undef src#define src(a_) a_#undef mpx#define mpx(a_) pls(0,si,a_) ps(0,a_,a_) pls(8,si,P(a_,1)) \ ps(0,P(a_,1),P(a_,1)) sign(a_)#undef madd#define madd(a_,b_,c_) pas(a_,b_,c_)#undef ulfa#define ulfa(a_)#else#undef R1#define R1 4#undef R2#define R2 5#undef R3#define R3 6#undef R4#define R4 7#undef TREG#define TREG 3#undef SREG#define SREG 2#undef CREG#define CREG 0#undef targ#define targ(a_) a_#undef src#define src(a_) 0#undef w#define w(a_)#undef w1_2#define w1_2(a_)#undef mpx#define mpx(a_) px(a_)#ifdef BETA0#undef ulfa#define ulfa(a_) /* phl(a_,0) pa(0,a_) */pu(a_,0,si)#else#undef ulfa#define ulfa(a_) pl(0,si,TREG) /* phl(a_,0) pa(0,a_) */ pa(TREG,a_) pu(a_,0,si)#endif#undef AREG#define AREG TREG#undef wb#define wb(a_,b_)#undef wbd#define wbd(a_,b_)#undef wbs#define wbs(a_,b_)#undef plax#define plax pc(CREG,1) ps(0,CREG,CREG) ps(3,1,1) sign(CREG)#endif#if defined(Conj_) && ! defined(GER) #undef sign#define sign(a_) pm(SREG,a_)#else #undef sign#define sign(a_) pm(SREG,P(a_,1))#endif#undef plb#define plb(a_,b_) pl(a_,b_,AREG)#undef plbd/* #define plbd(a_,b_) px(AREG) pld(a_,b_,AREG) */#undef dpr#define dpr(a_) pm(src(a_),TREG) pa(TREG,targ(a_))#undef dprp#define dprp(a_,b_,c_) pf(b_,c_) pm(src(a_),TREG) pa(TREG,targ(a_))#undef dpi#define dpi(a_) pm(P(src(a_),1),TREG) ps(1,TREG,TREG) pa(TREG,targ(a_))#ifndef GER#undef plaa#define plaa(a_) pl(a_ ## 0,si,CREG) plax#undef wa#define wa(a_) w(a_)#undef dp#define dp(a_,b_,c_) plb(a_ ## 0,b_) dpr(c_) plb(a_ ## 0,b_) dpi(c_)#undef dpp#define dpp(a_,b_,c_,d_,e_) plb(a_ ## 0,b_) dprp(c_,d_,e_) plb(a_ ## 0,b_) dpi(c_)#undef ddp#define ddp(a_,b_,c_) dp(a_,b_,c_) #undef ddpp#define ddpp(a_,b_,c_,d_,e_) dpp(a_,b_,c_,d_,e_)#undef plaa1_2/* #define plaa1_2(a_) px(CREG) pld(a_ ## 0,si,CREG) plax */#undef wa1_2/* #define wa1_2(a_) w1_2(a_) */#undef dp1_2/* #define dp1_2(a_,b_,c_) plbd(a_ ## 0,b_) dpr(c_) plbd(a_ ## 0,b_) dpi(c_) */#undef dpp1_2/* #define dpp1_2(a_,b_,c_,d_,e_) plbd(a_ ## 0,b_) dprp(c_,d_,e_) plbd(a_ ## 0,b_) dpi(c_) */#undef ddp1_2/* #define ddp1_2(a_,b_,c_) dp1_2(a_,b_,c_) */#undef ddpp1_2/* #define ddpp1_2(a_,b_,c_,d_,e_) dpp1_2(a_,b_,c_,d_,e_) */#else#undef lqc#define lqc(a_) pl(a_ ## 0,si,TREG)#undef lqc1/* #define lqc1_2(a_) px(TREG) pld(a_ ## 0,si,TREG) */#undef plaa#define plaa(a_) #undef wa#define wa(a_)#undef dp#define dp(a_,b_,c_) lqc(a_) plb(a_ ## 0,b_) dpr(c_) \ lqc(a_) dpi(c_) wb(a_ ## 0,b_)#undef dpp#define dpp(a_,b_,c_,d_,e_) lqc(a_) plb(a_ ## 0,b_) dpr(c_) pf(d_,e_) \ lqc(a_) dpi(c_) wb(a_ ## 0,b_)#undef ddp#define ddp(a_,b_,c_) dp(a_,b_,c_) #undef ddpp#define ddpp(a_,b_,c_,d_,e_) dpp(a_,b_,c_,d_,e_)#undef plaa1_2/* #define plaa1_2(a_) */#undef wa1_2/* #define wa1_2(a_) */#undef dp1_2/* #define dp1_2(a_,b_,c_) lqc1_2(a_) plbd(a_ ## 0,b_) dpr(c_) \ *//* lqc1_2(a_) dpi(c_) wbd(a_ ## 0,b_) */#undef dpp1_2/* #define dpp1_2(a_,b_,c_,d_,e_) lqc1_2(a_) plbd(a_ ## 0,b_) dpr(c_) pf(d_,e_) \ *//* lqc1_2(a_) dpi(c_) wbd(a_ ## 0,b_) */#undef ddp1_2/* #define ddp1_2(a_,b_,c_) dp1_2(a_,b_,c_) */#undef ddpp1_2/* #define ddpp1_2(a_,b_,c_,d_,e_) dpp1_2(a_,b_,c_,d_,e_) */#endif#else #if NDPM > 2#error Max NDPM is 2 for DCPLX#endif#undef TREG#define TREG 2#ifdef NO_TRANSPOSE#undef w#define w(a_) fp(a_ ## 0,si) fp(a_ ## 8,si)#undef plax#define plax fx1#undef srr#define srr(a_) a_#undef sri#define sri(a_) a_#undef sir#define sir(a_) a_#undef sii#define sii(a_) a_#undef trr#define trr(a_) P(TREG,1)#undef tri#define tri(a_) M(TREG,1)#undef tir#define tir(a_) TREG#undef tii#define tii(a_) TREG#undef mpx#define mpx(a_) fl(0,si) fl(8,si) fc(M(a_,2)) fc(M(a_,2)) #undef madd#define madd(a_,b_,c_) faa(a_,b_)#undef ulfa#define ulfa(a_) fc(0) fc(0)#else#undef srr#define srr(a_) P(TREG,1)#undef sri#define sri(a_) M(TREG,1)#undef sir#define sir(a_) TREG#undef sii#define sii(a_) TREG#undef trr#define trr(a_) a_#undef tri#define tri(a_) a_#undef tir#define tir(a_) a_#undef tii#define tii(a_) a_#undef w#define w(a_) #undef plax#define plax #undef mpx#define mpx(a_) fz fz#ifdef BETA0#undef madd#define madd(a_,b_,c_)#else#undef madd#define madd(a_,b_,c_) faa(a_,b_)#endif#undef ulfa#define ulfa(a_) madd(0,si,a_) fp(0,si) madd(8,si,a_) fp(8,si)#endif#ifdef Conj_#undef fapi#define fapi(a_,b_) fsp(b_)#undef fspi#define fspi(a_,b_) fap(a_,b_)#else#undef fapi#define fapi(a_,b_) fap(a_,b_)#undef fspi#define fspi(a_,b_) fsp(b_)#endif#ifndef GER#undef plaa#define plaa(a_) fl(a_ ## 0,si) fl(a_ ## 8,si) plax#undef wa#define wa(a_) w(a_)#undef ddp#define ddp(a_,b_,c_) fl(a_ ## 0,b_) fd(0) fm(srr(c_),0) fap(0,trr(c_)) \ fm(sri(c_),0) fap(0,tri(c_))\ fl(a_ ## 8,b_) fd(0) fm(sir(c_),0) fspi(0,tir(c_)) \ fm(sii(c_),0) fapi(0,tii(c_))#undef ddpp#define ddpp(a_,b_,c_,d_,e_) fl(a_ ## 0,b_) fd(0) fm(srr(c_),0) fap(0,trr(c_)) \ fm(sri(c_),0) fap(0,tri(c_))\ fl(a_ ## 8,b_) fd(0) pf(d_,e_) fm(sir(c_),0) fspi(0,tir(c_))\ fm(sii(c_),0) fapi(0,tii(c_))#ifdef NO_TRANSPOSE#undef dp#define dp(a_,b_,c_) ddp(a_,b_,c_)#undef dpp#define dpp(a_,b_,c_,d_,e_) ddpp(a_,b_,c_,d_,e_)#else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -