static void pr_groups(FILE *fp,int indent,const char *title, gmx_groups_t *groups, gmx_bool bShowNumbers) { int grpnr[egcNR]; int nat_max,i,g; pr_grps(fp,indent,"grp",groups->grps,groups->grpname,bShowNumbers); pr_strings(fp,indent,"grpname",groups->grpname,groups->ngrpname,bShowNumbers); (void) pr_indent(fp,indent); fprintf(fp,"groups "); for(g=0; g<egcNR; g++) { printf(" %5.5s",gtypes[g]); } printf("\n"); (void) pr_indent(fp,indent); fprintf(fp,"allocated "); nat_max = 0; for(g=0; g<egcNR; g++) { printf(" %5d",groups->ngrpnr[g]); nat_max = max(nat_max,groups->ngrpnr[g]); } printf("\n"); if (nat_max == 0) { (void) pr_indent(fp,indent); fprintf(fp,"groupnr[%5s] =","*"); for(g=0; g<egcNR; g++) { fprintf(fp," %3d ",0); } fprintf(fp,"\n"); } else { for(i=0; i<nat_max; i++) { (void) pr_indent(fp,indent); fprintf(fp,"groupnr[%5d] =",i); for(g=0; g<egcNR; g++) { fprintf(fp," %3d ", groups->grpnr[g] ? groups->grpnr[g][i] : 0); } fprintf(fp,"\n"); } } }
static void pr_atoms(FILE *fp,int indent,char *title,t_atoms *atoms) { if (available(fp,atoms,title)) { indent=pr_title(fp,indent,title); pr_atom(fp,indent,"atom",atoms->atom,atoms->nr); pr_grps(fp,indent,"grp",atoms->grps,egcNR,atoms->grpname); pr_strings(fp,indent,"atom",atoms->atomname,atoms->nr); pr_strings2(fp,indent,"type",atoms->atomtype,atoms->atomtypeB,atoms->nr); pr_strings(fp,indent,"residue",atoms->resname,atoms->nres); pr_strings(fp,indent,"grpname",atoms->grpname,atoms->ngrpname); pr_block(fp,indent,"excl",&atoms->excl); } }