You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
6.6 KiB
155 lines
6.6 KiB
.../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);
|