<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>On Fri, Sep 20, 2019, at 21:30, Robert Kern wrote:<br></div><blockquote type="cite" id="qt"><div dir="ltr"><div dir="ltr">Given the prevalence of Cython, it's actually really easy to use the Python API pretty easily in "C", so it's actually a huge waste if the C API matches the Python API too closely. The power and utility of the C API will be in how it *differs* from the Python API. For the distribution methods, this is largely in how it lets you sample one number at a time without bothering with the numpy and broadcasting overhead. That's the driving motivation for having a C API for the distributions, and the algorithms that we choose have consequences for the C API that will best satisfy that motivation.<br></div></div></blockquote><div><br></div><div>I'd like to clarify what exactly we mean by exposing a C API.  Do we have in mind that our random number generators can be used from standalone C code, or via Cython `cimport` like with the current numpy.pxd?<br></div><div><br></div><div>It sounds like we want to expose the highest level generators; do we also want to provide access to the bit streams?<br></div><div><br></div><div>Best regards,<br></div><div>Stéfan<br></div><div><br></div></body></html>