X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=blobdiff_plain;f=src%2Fgromacs%2Fgmxana%2Fgmx_rms.cpp;fp=src%2Fgromacs%2Fgmxana%2Fgmx_rms.c;h=44f98652767aee87c6d1a252ec42c1387537b680;hb=c3f2d46e4047f0c465f7234b3784a2fa6f02a065;hp=3e32fa29e142e02a984e85440a548b00b222b100;hpb=0595b4a4c763a0bc574658992081abf8b0abc3fe;p=alexxy%2Fgromacs.git diff --git a/src/gromacs/gmxana/gmx_rms.c b/src/gromacs/gmxana/gmx_rms.cpp similarity index 97% rename from src/gromacs/gmxana/gmx_rms.c rename to src/gromacs/gmxana/gmx_rms.cpp index 3e32fa29e1..44f9865276 100644 --- a/src/gromacs/gmxana/gmx_rms.c +++ b/src/gromacs/gmxana/gmx_rms.cpp @@ -36,8 +36,10 @@ */ #include "gmxpre.h" -#include -#include +#include +#include + +#include #include "gromacs/commandline/pargs.h" #include "gromacs/fileio/confio.h" @@ -77,9 +79,9 @@ static void norm_princ(t_atoms *atoms, int isize, atom_id *index, int natoms, { vec[m] += sqr(x[index[i]][m]); } - vec[m] = sqrt(vec[m] / isize); + vec[m] = std::sqrt(vec[m] / isize); /* calculate scaling constants */ - vec[m] = 1 / (sqrt(3) * vec[m]); + vec[m] = 1.0 / (std::sqrt(3.0) * vec[m]); } /* scale coordinates */ @@ -497,7 +499,7 @@ int gmx_rms(int argc, char *argv[]) "\nWARNING: topology has %d atoms, whereas trajectory has %d\n", top.atoms.nr, natoms_trx); } - natoms = min(top.atoms.nr, natoms_trx); + natoms = std::min(top.atoms.nr, natoms_trx); if (bMat || bBond || bPrev) { snew(mat_x, NFRAME); @@ -560,7 +562,6 @@ int gmx_rms(int argc, char *argv[]) { if (IS_CHEMBOND(k)) { - iatom = top.idef.il[k].iatoms; ncons += top.idef.il[k].nr/3; } } @@ -835,8 +836,8 @@ int gmx_rms(int argc, char *argv[]) { if (bDeltaLog) { - delta_scalex = 8.0/log(2.0); - delta_xsize = (int)(log(tel_mat/2)*delta_scalex+0.5)+1; + delta_scalex = 8.0/std::log(2.0); + delta_xsize = static_cast(std::log(static_cast(tel_mat/2))*delta_scalex+0.5)+1; } else { @@ -919,7 +920,7 @@ int gmx_rms(int argc, char *argv[]) { rvec_sub(mat_x[i][ind_bond1[m]], mat_x[i][ind_bond2[m]], vec1); rvec_sub(mat_x2_j[ind_bond1[m]], mat_x2_j[ind_bond2[m]], vec2); - ang += acos(cos_angle(vec1, vec2)); + ang += std::acos(cos_angle(vec1, vec2)); } bond_mat[i][j] = ang*180.0/(M_PI*ibond); if (bond_mat[i][j] > bond_max) @@ -961,12 +962,12 @@ int gmx_rms(int argc, char *argv[]) { if ((j+my >= 0) && (j+my < tel_mat)) { - abs_my = abs(my); + abs_my = std::abs(my); for (mx = -avl; mx <= avl; mx++) { if ((i+mx >= 0) && (i+mx < tel_mat)) { - weight = (real)(avl+1-max(abs(mx), abs_my)); + weight = avl+1.0-std::max(std::abs(mx), abs_my); av_tot += weight*rmsd_mat[i+mx][j+my]; weight_tot += weight; } @@ -1025,9 +1026,9 @@ int gmx_rms(int argc, char *argv[]) { if (bDeltaLog) { - mx = (int)(log(mx)*delta_scalex+0.5); + mx = static_cast(std::log(static_cast(mx))*delta_scalex+0.5); } - my = (int)(rmsd_mat[i][j]*delta_scaley*del_lev+0.5); + my = static_cast(rmsd_mat[i][j]*delta_scaley*del_lev+0.5); delta_tot[mx] += 1.0; if ((rmsd_mat[i][j] >= 0) && (rmsd_mat[i][j] <= delta_maxy)) { @@ -1076,7 +1077,7 @@ int gmx_rms(int argc, char *argv[]) fp = ftp2FILE(efDAT, NFILE, fnm, "wb"); for (i = 0; i < tel_mat; i++) { - if (fwrite(rmsd_mat[i], sizeof(**rmsd_mat), tel_mat2, fp) != tel_mat2) + if (static_cast(fwrite(rmsd_mat[i], sizeof(**rmsd_mat), tel_mat2, fp)) != tel_mat2) { gmx_fatal(FARGS, "Error writing to output file"); } @@ -1136,7 +1137,7 @@ int gmx_rms(int argc, char *argv[]) for (i = 0; (i < teller); i++) { if (bSplit && i > 0 && - fabs(time[bPrev ? freq*i : i]/output_env_get_time_factor(oenv)) < 1e-5) + std::abs(time[bPrev ? freq*i : i]/output_env_get_time_factor(oenv)) < 1e-5) { fprintf(fp, "%s\n", output_env_get_print_xvgr_codes(oenv) ? "&" : ""); } @@ -1165,20 +1166,20 @@ int gmx_rms(int argc, char *argv[]) if (output_env_get_print_xvgr_codes(oenv)) { fprintf(fp, "@ subtitle \"of %s after lsq fit to mirror of %s\"\n", - gn_rms[0], gn_fit); + gn_rms[0], bFit ? gn_fit : ""); } } else { if (output_env_get_print_xvgr_codes(oenv)) { - fprintf(fp, "@ subtitle \"after lsq fit to mirror %s\"\n", gn_fit); + fprintf(fp, "@ subtitle \"after lsq fit to mirror %s\"\n", bFit ? gn_fit : ""); } xvgr_legend(fp, nrms, (const char**)gn_rms, oenv); } for (i = 0; (i < teller); i++) { - if (bSplit && i > 0 && fabs(time[i]) < 1e-5) + if (bSplit && i > 0 && std::abs(time[i]) < 1e-5) { fprintf(fp, "%s\n", output_env_get_print_xvgr_codes(oenv) ? "&" : ""); }