|
Boost : |
Subject: [boost] Fwd: [Math/Statistical Distributions] Help on using distributions' global accessors
From: Marco Guazzone (marco.guazzone_at_[hidden])
Date: 2009-06-07 02:48:24
Hi all,
I've decided to "cross-post" the message below to boost devel mailing
list in the hope someone can answer to my questions.
Sorry for the duplicate
Ciao!
-- Marco
---------- Forwarded message ----------
From: Marco Guazzone <marco.guazzone_at_[hidden]>
Date: Thu, Jun 4, 2009 at 3:40 PM
Subject: [Math/Statistical Distributions] Help on using distributions'
global accessors
To: boost-users_at_[hidden]
Dear Boost users,
I don't understand why the code in the attached file
"test_distributions_ko.zip" does not work. :(
It compiles without problems, but as I run it I get the following
error as soon as the *variance* accessor is called:
--- [error] ---
Running 2 test cases...
...
unknown location(0): fatal error in "exponential_distribution": memory
access violation at address: 0x7fffa6254ff8: no mapping at fault
address
test.cpp(34): last checkpoint
*** 1 failure detected in test suite "test::stats test suite"
--- [/error] ---
I've also tried to replace the use of inheritance with the removal of
class "exponential_distribution" and directly injecting inside my
namespace the Boost one, that is:
namespace test { namespace stats {
using ::boost::math::exponential_distribution;
using ::boost::math::exponential;
}}
but without success.
Instead, the error *disappear* if I use the code in
"test_distributions_ok.zip", where instead of using inheritance and
"injection" I use membeship (i.e., composition). Why?
My compiler is GCC 4.3.2 and my system is Fedora 10 x86_64.
If you want to try the attached code you can simply type 'make' from
your shell (provided you have a unix like system) and then run the
command "./test".
A note about the code: you may ask yourself why I'm redefining some
functions already defined by the Boost library.
The reason lies in the fact that my final goal is to create a wrapping
library in order to change without pain the underlying real
implementation.
An help or a hint would be very very very appreciated!! :)
Thank you very much!
-- Marco
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk