void StVKReducedStiffnessMatrix::PrintMatrix() { int i,j,k; int output; // free terms int index = 0; printf("{"); for(output=0; output<r; output++) { printf("{"); for(i=0; i<r; i++) { int i1 = output; int j1 = i; if (i1 > j1) { i1 = i; j1 = output; } printf("%.15f",freeCoef(i1,j1)); if (i != r-1) printf(", "); index++; if (index % 5 == 4) printf("\n"); } printf("}"); if (output != r-1) printf(", "); } printf("} + "); // linear terms printf("{"); index = 0; int indexEntry = 0; for(output=0; output<r; output++) { printf("{"); for(i=0; i<r; i++) { int i1 = output; int j1 = i; if (i1 > j1) { i1 = i; j1 = output; } for(j=0; j<r; j++) { printf("%.15f * q%d",linearCoef(i1,j1,j),j); if (j != r - 1) printf(" + "); index++; if (index % 5 == 4) printf("\n"); } if (i != r - 1) printf(", "); indexEntry++; } printf("}"); if (output != r - 1) printf(",\n"); } printf("}"); // quadratic terms printf(" + {"); index = 0; indexEntry = 0; for(output=0; output<r; output++) { printf("{"); for(i=0; i<r; i++) { int i1 = output; int j1 = i; if (i1 > j1) { i1 = i; j1 = output; } for(j=0; j<r; j++) for(k=j; k<r; k++) { printf("%.15f * q%d * q%d",quadraticCoef(i1,j1,j,k),j,k); if (!((k == r - 1) && ( j == r-1))) printf(" + "); index++; if (index % 5 == 4) printf("\n"); } if (i != r - 1) printf(", "); indexEntry++; } printf("}"); if (output != r - 1) printf(",\n"); } printf("}"); }
int removeFieldBack( BYTE *lpPointer, /* pointer to current ticket buffer */ WORD Width, /* width of current ticket */ WORD Height, /* height of current ticket */ int angle, /* angle for map */ LPBYTE lpZoneStruct, /* pointer to zone structure */ RECT *lpFieldRect, /* pointer to field rectangle */ BYTE *BackStruct /* pointer to background buffer */ ){ int ret, i, ii, x, y, x1, x2, wImg, yy, ind; int xB, xE, k1, k2, yyB, yyE, xxB, xxE; int ch, mask, xCur, yCur; int LineWidth, ImgHeight; LONG lY; BYTE *hptr; angleGlob=angle; lpZoneGlob=lpZoneStruct; protRect.left = lpFieldRect->left; protRect.right = lpFieldRect->right-1; protRect.top = lpFieldRect->top; protRect.bottom = lpFieldRect->bottom-1; LineWidth=protRect.right - protRect.left+1; ImgHeight=protRect.bottom- protRect.top+1; wImg =((LineWidth+31)/32)*4; ret=grid(Width,Height,(RECT*)&protRect,(RECT*)&gridTabProt[0],(STRUCT4POINTS *)&gridTabForm[0], (int *)&numbOfGrid,GRID_X,GRID_Y,angle,lpZoneStruct,SCALEC); if(ret<0) { return(-1); } /* rectangles loop */ for(i=0;i<numbOfGrid;i++) { ret=linearCoef((RECT*)&gridTabProt[i],(STRUCT4POINTS *)&gridTabForm[i],(COEF *)&lCoef); if(ret<0) { // MessageBeep(0); // MessageBox(hWnd,"linearCoef() ERROR !!!",NULL, MB_OK ); return(-2); } /* y loop */ yyB=gridTabProt[i].top-protRect.top; yyE=gridTabProt[i].bottom-protRect.top; xxB=gridTabProt[i].left-protRect.left; xxE=gridTabProt[i].right-protRect.left; for(y=yyB;y<=yyE;y++) { /* x loop */ yCur=y+protRect.top; k1=xxB%8; xB=xxB/8; x1=xB; if(k1>0) x1++; k2=xxE%8; xE=xxE/8; x2=xE; if(k2<7) x2--; /* first byte */ if(k1>0) { yy=y; yy=ImgHeight-1-y; lY=(long)yy*(long)wImg; hptr=BackStruct+lY+(LONG)xB; ind=(int)(*hptr); if(ind<0) {ind+=256;} ind=255-ind; ind&=mask_R[k1]; if(gr_ar[ind]>0) { mask=LEFT_BIT; mask >>=k1; for(ii=k1;ii<8;ii++) { ch=ind&mask; if(ch!=0) { putImgF(xB*8+protRect.left+ii,yCur,SCALEC,lpPointer,Width,Height,EPS_NX,EPS_NY); } mask >>=1; } } } /* interior bytes */ for(x=x1;x<=x2;x++) { xCur=x*8+protRect.left; yy=y; yy=ImgHeight-1-y; lY=(LONG)yy*(LONG)wImg; // hptr=(lpBackStruct->lpPointer)+lY+(LONG)x; hptr=BackStruct+lY+(LONG)x; ind=(int)(*hptr); if(ind<0) {ind+=256;} ind=255-ind; if(gr_ar[ind]>0) { mask=LEFT_BIT; for(ii=0;ii<8;ii++) { ch=ind&mask; if(ch!=0) { putImgF(xCur+ii,yCur,SCALEC,lpPointer,Width,Height,EPS_NX,EPS_NY); } mask >>=1; } } } /* x loop */
void StVKReducedHessianTensor::PrintTensor() { int i; int output; int input,deriv; // free terms int index = 0; printf("{"); for(output=0; output<r; output++) { printf("{"); for(input=0; input<r; input++) { int i1 = output; int j1 = input; if (j1 < i1) // swap them { j1 = output; i1 = input; } // now i1 <= j1 printf("{"); for(deriv=0; deriv<r; deriv++) { printf("%.15f",freeCoef(i1,j1,deriv)); if (deriv != r-1) printf(", "); index++; if (index % 5 == 4) printf("\n"); } printf("}"); if (input != r-1) printf(", "); } printf("}"); if (output != r-1) printf(", "); } printf("} +\n{"); index = 0; for(output=0; output<r; output++) { printf("{"); for(input=0; input<r; input++) { printf("{"); int i1 = output; int j1 = input; if (j1 < i1) // swap them { j1 = output; i1 = input; } // now i1 <= j1 for(deriv=0; deriv<r; deriv++) { for(i=0; i<r; i++) { printf("%.15f * q%d",linearCoef(i1,j1,deriv,i),i); if (i != r-1) printf("+ "); index++; if (index % 5 == 4) printf("\n"); } if (deriv != r-1) printf(", "); } printf("}"); if (input != r-1) printf(", "); } printf("}"); if (output != r-1) printf(", "); } printf("}"); }