Skip to content

Commit

Permalink
Add dIntTableView (ugly duplication with dRealTableView)
Browse files Browse the repository at this point in the history
  • Loading branch information
jedbrown committed Feb 23, 2011
1 parent 5df59c8 commit 052956a
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
1 change: 1 addition & 0 deletions include/dohp.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
extern dErr dObjectGetComm(dObject obj,MPI_Comm *comm);

extern dErr dRealTableView(dInt m,dInt n,const dReal mat[],const char *name,dViewer viewer);
extern dErr dIntTableView(dInt m,dInt n,const dInt mat[],const char *name,dViewer viewer);

static inline dInt dMaxInt(dInt a,dInt b) { return (a > b) ? a : b; }
static inline dInt dMinInt(dInt a,dInt b) { return (a < b) ? a : b; }
Expand Down
30 changes: 30 additions & 0 deletions src/util/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ dErr dRealTableView(dInt m,dInt n,const dReal mat[],const char *name,dViewer vie
dFunctionBegin;
err = PetscTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&ascii);dCHK(err);
if (!ascii) dFunctionReturn(0);
if (!mat) {
err = PetscViewerASCIIPrintf(viewer,"%10s: null %D*%D\n",name,m,n);dCHK(err);
dFunctionReturn(0);
}
for (dInt i=0; i<m; i++) {
if (name) {
err = PetscViewerASCIIPrintf(viewer,"%10s[%2d][%2d:%2d] ",name,i,0,n);dCHK(err);
Expand All @@ -49,3 +53,29 @@ dErr dRealTableView(dInt m,dInt n,const dReal mat[],const char *name,dViewer vie
}
dFunctionReturn(0);
}

dErr dIntTableView(dInt m,dInt n,const dInt mat[],const char *name,dViewer viewer)
{
dBool ascii;
dErr err;

dFunctionBegin;
err = PetscTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&ascii);dCHK(err);
if (!ascii) dFunctionReturn(0);
if (!mat) {
err = PetscViewerASCIIPrintf(viewer,"%10s: null %D*%D\n",name,m,n);dCHK(err);
dFunctionReturn(0);
}
for (dInt i=0; i<m; i++) {
if (name) {
err = PetscViewerASCIIPrintf(viewer,"%10s[%2d][%2d:%2d] ",name,i,0,n);dCHK(err);
}
err = PetscViewerASCIIUseTabs(viewer,PETSC_FALSE);dCHK(err);
for (dInt j=0; j<n; j++) {
err = PetscViewerASCIIPrintf(viewer," %3D",mat[i*n+j]);dCHK(err);
}
err = PetscViewerASCIIPrintf(viewer,"\n");dCHK(err);
err = PetscViewerASCIIUseTabs(viewer,PETSC_TRUE);dCHK(err);
}
dFunctionReturn(0);
}

0 comments on commit 052956a

Please sign in to comment.