📄 bfmacros.h
字号:
T *_th_pp = _th_p
+ ((_b_lo[0] - _th_plo[0])
+ _th_plen[0]*(
(jR - _th_plo[1])
+ _n * _th_plen[1]));
for(int _i = 0; _i < _b_len[0]; ++_i, ++_th_pp) {
int iR = _i + _b_lo[0]; iR += 0;
T &thisR = * _th_pp;
#define ForAllThisCBNN(T,b,ns,nc)
{
assert(contains(b));
assert((ns) >= 0 && (ns) + (nc) <= nComp());
const int *_th_plo = loVect();
const int *_th_plen = size();
const int *_b_lo = (b).loVect();
const int *_b_len = (b).size().getVect();
const T* _th_p = dptr;
for(int _n = (ns); _n < (ns)+(nc); ++_n) {
const int nR = _n;
for(int _j = 0; _j < _b_len[1]; ++_j) {
const int jR = _j + _b_lo[1];
const T *_th_pp = _th_p
+ ((_b_lo[0] - _th_plo[0])
+ _th_plen[0]*(
(_j + _b_lo[1] - _th_plo[1])
+ _n * _th_plen[1]));
for(int _i = 0; _i < _b_len[0]; ++_i) {
const int iR = _i + _b_lo[0];
const T &thisR = _th_pp[_i];
#define ForAllThisBNNXC(T,b,ns,nc,x,nss)
{
assert((ns) >= 0 && (ns) + (nc) <= nComp());
assert((nss) >= 0 && (nss) + (nc) <= (x).nComp());
Box _subbox_((x).box());
_subbox_ &= box();
_subbox_ &= b;
if(!_subbox_.isEmpty()) {
const int *_th_plo = loVect();
const int *_th_plen = size();
const int *_x_plo = (x).loVect();
const int *_x_plen = (x).size();
const int *_subbox_lo = _subbox_.loVect();
const int *_subbox_len = _subbox_.size().getVect();
T* _th_p = dataPtr(ns);
const T* _x_p = (x).dataPtr(nss);
for(int _n = 0; _n < (nc); ++_n) {
int nR = _n; nR += 0;
for(int _j = 0; _j < _subbox_len[1]; ++_j) {
const int jR = _j + _subbox_lo[1];
T *_th_pp = _th_p
+ ((_subbox_lo[0] - _th_plo[0])
+ _th_plen[0]*(
(jR - _th_plo[1])
+ _n * _th_plen[1]));
const T *_x_pp = _x_p
+ ((_subbox_lo[0] - _x_plo[0])
+ _x_plen[0]*(
(jR - _x_plo[1])
+ _n * _x_plen[1]));
for(int _i = 0; _i < _subbox_len[0]; ++_i, ++_th_pp) {
int iR = _i + _subbox_lo[0]; iR += 0;
T &thisR = * _th_pp; const T & x##R = _x_pp[_i];
#define ForAllThisCBNNXC(T,b,ns,nc,x,nss)
{
assert((ns) >= 0 && (ns) + (nc) <= nComp());
assert((nss) >= 0 && (nss) + (nc) <= (x).nComp());
Box _subbox_((x).box());
_subbox_ &= box();
_subbox_ &= b;
if(!_subbox_.isEmpty()) {
const int *_th_plo = loVect();
const int *_th_plen = size();
const int *_x_plo = (x).loVect();
const int *_x_plen = (x).size();
const int *_subbox_lo = _subbox_.loVect();
const int *_subbox_len = _subbox_.size().getVect();
const T* _th_p = dataPtr(ns);
const T* _x_p = (x).dataPtr(nss);
for(int _n = 0; _n < (nc); ++_n) {
int nR = _n; nR += 0;
for(int _j = 0; _j < _subbox_len[1]; ++_j) {
const int jR = _j + _subbox_lo[1];
const T *_th_pp = _th_p
+ ((_subbox_lo[0] - _th_plo[0])
+ _th_plen[0]*(
(jR - _th_plo[1])
+ _n * _th_plen[1]));
const T *_x_pp = _x_p
+ ((_subbox_lo[0] - _x_plo[0])
+ _x_plen[0]*(
(jR - _x_plo[1])
+ _n * _x_plen[1]));
for(int _i = 0; _i < _subbox_len[0]; ++_i, ++_th_pp) {
int iR = _i + _subbox_lo[0]; iR += 0;
const T &thisR = * _th_pp; const T & x##R = _x_pp[_i];
#define ForAllThisBNNXCBN(T,b,ns,nc,x,bx,nss)
{
assert((ns) >= 0 && (ns) + (nc) <= nComp());
assert((nss) >= 0 && (nss) + (nc) <= (x).nComp());
assert(bx.sameSize((b)));
if(!((b).isEmpty())) {
const int *_th_plo = loVect();
const int *_th_plen = size();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -