summaryrefslogtreecommitdiff
path: root/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch')
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch154
1 files changed, 154 insertions, 0 deletions
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch
new file mode 100644
index 000000000000..96cb21531bbf
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch
@@ -0,0 +1,154 @@
+ .../scitbx/math/boost_python/distributions.cpp | 60 +++++++++++++------
+ cctbx_sources/scitbx/rigid_body/spatial_lib.h | 1 +
+ cctbx_sources/scitbx/rigid_body/tardy.h | 4 +-
+ .../refinement/boost_python/weighting_schemes.cpp | 4 +-
+ .../smtbx/structure_factors/direct/standard_xray.h | 4 +-
+ 5 files changed, 48 insertions(+), 25 deletions(-)
+
+diff --git a/cctbx_sources/scitbx/math/boost_python/distributions.cpp b/cctbx_sources/scitbx/math/boost_python/distributions.cpp
+index a676798..68818e7 100644
+--- a/cctbx_sources/scitbx/math/boost_python/distributions.cpp
++++ b/cctbx_sources/scitbx/math/boost_python/distributions.cpp
+@@ -59,29 +59,51 @@ namespace {
+ {
+ typedef Distribution wt;
+
++ #define NEW_MEMBER(name) \
++ static FloatType name(wt const &self) { \
++ return boost::math::name(self); \
++ }
++
++ NEW_MEMBER(mean);
++ NEW_MEMBER(median);
++ NEW_MEMBER(mode);
++ NEW_MEMBER(variance);
++ NEW_MEMBER(standard_deviation);
++ NEW_MEMBER(skewness);
++ NEW_MEMBER(kurtosis);
++
++ #undef NEW_MEMBER
++
++ #define NEW_MEMBER(name) \
++ static FloatType name(wt const &self, FloatType arg) { \
++ return boost::math::name(self, arg); \
++ }
++
++ NEW_MEMBER(pdf);
++ NEW_MEMBER(cdf);
++ NEW_MEMBER(quantile);
++
++ #undef NEW_MEMBER
++
++ static scitbx::af::shared<FloatType> quantiles(wt const &self, std::size_t n) {
++ return scitbx::math::quantiles<FloatType>(self, n);
++ }
++
+ static void
+ wrap()
+ {
+ using namespace boost::python;
+- def("mean", (FloatType(*)(wt const&)) boost::math::mean);
+- def("median", (FloatType(*)(wt const&)) boost::math::median);
+- def("mode", (FloatType(*)(wt const&)) boost::math::mode);
+- def("variance", (FloatType(*)(wt const&)) boost::math::variance);
+- def("standard_deviation",
+- (FloatType(*)(wt const&)) boost::math::standard_deviation);
+- def("skewness", (FloatType(*)(wt const&)) boost::math::skewness);
+- def("kurtosis", (FloatType(*)(wt const&)) boost::math::kurtosis);
+- def("pdf", (FloatType(*)(wt const&, FloatType const&)) boost::math::pdf);
+- def("cdf", (FloatType(*)(wt const&, FloatType const&)) boost::math::cdf);
+- def("quantile", (FloatType(*)(wt const&, FloatType const&))
+- boost::math::quantile);
+- def("quantiles",
+-#if BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306))
+- (scitbx::af::shared<FloatType>(*)(wt const&, std::size_t)) quantiles
+-#else
+- quantiles<FloatType, wt>
+-#endif
+- );
++ def("mean" , mean);
++ def("median" , median);
++ def("mode" , mode);
++ def("variance" , variance);
++ def("standard_deviation", standard_deviation);
++ def("skewness" , skewness);
++ def("kurtosis" , kurtosis);
++ def("pdf" , pdf);
++ def("cdf" , cdf);
++ def("quantile" , quantile);
++ def("quantiles" , quantiles);
+ }
+ };
+
+diff --git a/cctbx_sources/scitbx/rigid_body/spatial_lib.h b/cctbx_sources/scitbx/rigid_body/spatial_lib.h
+index a084f0f..e377292 100755
+--- a/cctbx_sources/scitbx/rigid_body/spatial_lib.h
++++ b/cctbx_sources/scitbx/rigid_body/spatial_lib.h
+@@ -2,6 +2,7 @@
+ #define SCITBX_RIGID_BODY_SPATIAL_LIB_H
+
+ #include <scitbx/rotr3.h>
++#include <scitbx/rigid_body/matrix_helpers.h>
+ #include <scitbx/array_family/versa_matrix.h>
+
+ namespace scitbx { namespace rigid_body {
+diff --git a/cctbx_sources/scitbx/rigid_body/tardy.h b/cctbx_sources/scitbx/rigid_body/tardy.h
+index 104f16b..a8f76cc 100755
+--- a/cctbx_sources/scitbx/rigid_body/tardy.h
++++ b/cctbx_sources/scitbx/rigid_body/tardy.h
+@@ -346,7 +346,7 @@ namespace tardy {
+ unsigned nb = this->bodies_size();
+ af::shared<af::small<ft, 7> > result((af::reserve(nb)));
+ af::shared<af::small<ft, 6> >
+- tau_array = f_ext_as_tau(f_ext_array().const_ref());
++ tau_array = this->f_ext_as_tau(f_ext_array().const_ref());
+ for(unsigned ib=0;ib<nb;ib++) {
+ result.push_back(
+ this->bodies[ib]->joint->tau_as_d_e_pot_d_q(tau_array[ib]));
+@@ -379,7 +379,7 @@ namespace tardy {
+ qdd_array()
+ {
+ if (!qdd_array_) {
+- qdd_array_ = forward_dynamics_ab(
++ qdd_array_ = this->forward_dynamics_ab(
+ /*tau_array*/ af::const_ref<af::small<ft, 6> >(0, 0),
+ f_ext_array().const_ref(),
+ /*grav_accn*/ af::const_ref<ft>(0, 0));
+diff --git a/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp b/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
+index ce0c27b..904e8d7 100644
+--- a/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
++++ b/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
+@@ -25,9 +25,9 @@ namespace smtbx { namespace refinement { namespace least_squares {
+ : base_t(name, boost::python::no_init)
+ {
+ using namespace boost::python;
+- def("__call__", &wt::operator(),
++ this->def("__call__", &wt::operator(),
+ (arg("fo_sq"), arg("sigma"), arg("fc_sq")));
+- def("__call__", weights,
++ this->def("__call__", weights,
+ (arg("fo_sq"), arg("sigmas"), arg("fc_sq")));
+ }
+ };
+diff --git a/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h b/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
+index 5e2df76..911bfde 100644
+--- a/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
++++ b/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
+@@ -161,7 +161,7 @@ namespace smtbx { namespace structure_factors { namespace direct {
+ for (int k=0; k < hr_ht.groups.size(); ++k) {
+ hr_ht_group<float_type> const &g = hr_ht.groups[k];
+ float_type hrx = g.hr * scatterer.site;
+- complex_type f = exp_i_2pi(hrx + g.ht);
++ complex_type f = this->exp_i_2pi(hrx + g.ht);
+ if (scatterer.flags.use_u_aniso()) {
+ float_type dw = debye_waller_factor_u_star(g.hr, scatterer.u_star);
+ f *= dw;
+@@ -336,7 +336,7 @@ namespace smtbx { namespace structure_factors { namespace direct {
+ for (int k=0; k < hr_ht.groups.size(); ++k) {
+ hr_ht_group<float_type> const &g = hr_ht.groups[k];
+ float_type hrx = g.hr * scatterer.site;
+- complex_type f = exp_i_2pi(hrx + g.ht);
++ complex_type f = this->exp_i_2pi(hrx + g.ht);
+ float_type fa = f.real(), fb = f.imag();
+ if (scatterer.flags.use_u_aniso()) {
+ float_type dw = debye_waller_factor_u_star(g.hr, scatterer.u_star);