📄 bsxarg.c
字号:
{ Cpr = mxGetData(plhs[0]); Cpi = mxGetImagData(plhs[0]); Apr = mxGetData(prhs[0]); Api = mxGetImagData(prhs[0]); switch( classid ) { case mxDOUBLE_CLASS: case mxINT64_CLASS: case mxUINT64_CLASS: expand_64bits(Cpr, Cpi, Apr, Api, complexity); break; case mxSINGLE_CLASS: case mxINT32_CLASS: case mxUINT32_CLASS: expand_32bits(Cpr, Cpi, Apr, Api, complexity); break; case mxCHAR_CLASS: case mxINT16_CLASS: case mxUINT16_CLASS: expand_16bits(Cpr, Cpi, Apr, Api, complexity); break; case mxLOGICAL_CLASS: case mxINT8_CLASS: case mxUINT8_CLASS: expand_8bits(Cpr, Cpi, Apr, Api, complexity); break; } } if( nlhs < 2 ) return; classid = mxGetClassID(prhs[1]); complexity = mxIsComplex(prhs[1]) ? mxCOMPLEX : mxREAL; plhs[1] = mxCreateNumericArray(Cndim, Cdims, classid, complexity); if( mxGetNumberOfElements(plhs[1]) ) { Cpr = mxGetData(plhs[1]); Cpi = mxGetImagData(plhs[1]); Apr = mxGetData(prhs[1]); Api = mxGetImagData(prhs[1]); A1 = B1; A2 = B2; A3 = B3; A4 = B4; A5 = B5; A6 = B6; A7 = B7; A8 = B8; A9 = B9; A10 = B10; A11 = B11; A12 = B12; switch( classid ) { case mxDOUBLE_CLASS: case mxINT64_CLASS: case mxUINT64_CLASS: expand_64bits(Cpr, Cpi, Apr, Api, complexity); break; case mxSINGLE_CLASS: case mxINT32_CLASS: case mxUINT32_CLASS: expand_32bits(Cpr, Cpi, Apr, Api, complexity); break; case mxCHAR_CLASS: case mxINT16_CLASS: case mxUINT16_CLASS: expand_16bits(Cpr, Cpi, Apr, Api, complexity); break; case mxLOGICAL_CLASS: case mxINT8_CLASS: case mxUINT8_CLASS: expand_8bits(Cpr, Cpi, Apr, Api, complexity); break; } }}//-----------------------------------------------------------------------------//// Expansion function for 64-bit classes////-----------------------------------------------------------------------------void expand_64bits(void *cpr, void *cpi, void *apr, void *api, mxComplexity complexity){ bit64 *Cpr = (bit64 *) cpr; bit64 *Cpi = (bit64 *) cpi; bit64 *Apr = (bit64 *) apr; bit64 *Api = (bit64 *) api; if( complexity == mxCOMPLEX ) { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); *Cpi++ = AX(Api,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } } else { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } }}//-----------------------------------------------------------------------------//// Expansion function for 32-bit classes////-----------------------------------------------------------------------------void expand_32bits(void *cpr, void *cpi, void *apr, void *api, mxComplexity complexity){ bit32 *Cpr = (bit32 *) cpr; bit32 *Cpi = (bit32 *) cpi; bit32 *Apr = (bit32 *) apr; bit32 *Api = (bit32 *) api; if( complexity == mxCOMPLEX ) { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); *Cpi++ = AX(Api,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } } else { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } }}//-----------------------------------------------------------------------------//// Expansion function for 16-bit classes////-----------------------------------------------------------------------------void expand_16bits(void *cpr, void *cpi, void *apr, void *api, mxComplexity complexity){ bit16 *Cpr = (bit16 *) cpr; bit16 *Cpi = (bit16 *) cpi; bit16 *Apr = (bit16 *) apr; bit16 *Api = (bit16 *) api; if( complexity == mxCOMPLEX ) { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); *Cpi++ = AX(Api,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } } else { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } }}//-----------------------------------------------------------------------------//// Expansion function for 8-bit classes////-----------------------------------------------------------------------------void expand_8bits(void *cpr, void *cpi, void *apr, void *api, mxComplexity complexity){ bit8 *Cpr = (bit8 *) cpr; bit8 *Cpi = (bit8 *) cpi; bit8 *Apr = (bit8 *) apr; bit8 *Api = (bit8 *) api; if( complexity == mxCOMPLEX ) { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); *Cpi++ = AX(Api,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } } else { for( i12=0; i12<k12; i12++ ) for( i11=0; i11<k11; i11++ ) for( i10=0; i10<k10; i10++ ) for( i9=0; i9<k9; i9++ ) for( i8=0; i8<k8; i8++ ) for( i7=0; i7<k7; i7++ ) for( i6=0; i6<k6; i6++ ) for( i5=0; i5<k5; i5++ ) for( i4=0; i4<k4; i4++ ) for( i3=0; i3<k3; i3++ ) for( i2=0; i2<k2; i2++ ) for( i1=0; i1<k1; i1++ ) { *Cpr++ = AX(Apr,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -