Neal Becker wrote: > Neal Becker wrote: > >> I guess I talked to you about 100 years ago about sharing state between numpy >> rng and code I have in c++ that wraps boost::random. So is there a C-api for >> this RandomState object I could use to call from c++? Maybe I could do >> something with that. >> >> The c++ code could invoke via the python api, but that might be slower. I'm >> just rambling here, I'd have to see the API to get some ideas. > > I think if I could just grab a long int from the underlying mersenne twister, > through some c api?
Well, this at least appears to work - probably not the most efficient approach - calls the RandomState object via the python interface to get 4 bytes at a time: int test1 (bp::object & rs) { bp::str bytes = call_method<bp::str> (rs.ptr(), "bytes", 4); // get 4 bytes return *reinterpret_cast<int*> (PyString_AS_STRING (bytes.ptr())); } BOOST_PYTHON_MODULE (numpy_rand) { boost::numpy::initialize(); def ("test1", &test1); } _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion