<div dir="ltr">On Fri, Mar 13, 2015 at 5:34 PM, Neal Becker <<a href="mailto:ndbecker2@gmail.com">ndbecker2@gmail.com</a>> wrote:<br>><br>> It is common that to guarantee good statistical independence between various<br>> random generators, a singleton instance of an RNG is shared between them.<br>><br>> So I typically have various random generator objects, which (sometimes<br>> several levels objects deep) embed an instance of RandomState.<br>><br>> Now I have a requirement to copy a generator object (without knowing exactly<br>> what that generator object is).<br><br>Or rather, you want the generator object to *avoid* copies by returning itself when a copy is requested of it.<br><br>> My solution is to use deepcopy on the top-level object.  But I need to<br>> overload __deepcopy__ on the singleton RandomState object.<br>><br>> Unfortunately, RandomState doesn't allow customization of __deepcopy__ (or<br>> anything else).  And it has no __dict__.<br><br>You can always subclass RandomState to override its __deepcopy__.<br><br>--<br>Robert Kern</div>