14 #include <basic/prof.hh>
15 #include <ObjexxFCL/FArray2D.hh>
16 #include <utility/vector1.hh>
19 #include <basic/Tracer.hh>
22 static basic::Tracer
TR(
"HPool_util");
29 namespace canonical_sampling{
30 namespace mc_convergence_checks {
37 neighbor_addresses_(0),
38 coords_transfer_buffer_(0),
39 coords_receiving_buffer_(0),
42 num_new_neighbors_(0),
46 candidate_nbr_index_(0),
47 candidate_best_rmsd_(0.0),
48 candidate_best_rmsds_(0),
53 best_candidate_rmsds_(),
60 TR.Debug <<
"setting up pool-util: num-slave-nodes: " << num_slave_nodes <<
61 " num-residues: " << nresidues <<
62 " nlevels: " << nlevels << std::endl;
71 int_buf1_ =
new int[ num_slave_nodes * nlevels ];
94 for(
core::Size ii = 1; ii <= address.size(); ii++ ) {
95 buf[ ii - 1 + start_index ] = address[ ii ];
101 for(
core::Size ii = 1; ii <= address.size(); ii++ ) {
102 address[ ii ] = buf[ ii - 1 + start_index ];
112 PROF_START( basic::FARRAY_MANIPULATION );
113 for (
int ii = 1; ii <= coords.u1(); ii++ ) {
114 for (
int jj = 1; jj <= coords.u2(); jj++ ) {
115 coord_buf[index++] = coords( ii, jj );
118 PROF_STOP( basic::FARRAY_MANIPULATION );
133 PROF_START( basic::FARRAY_MANIPULATION );
134 for (
int ii = 1; ii <= coords.u1(); ii++ ) {
135 for(
int jj = 1; jj <= coords.u2(); jj++ ) {
136 coords( ii, jj ) = coord_buf[index++];
139 PROF_STOP( basic::FARRAY_MANIPULATION );