THats fine (except that you should use new-style classes)
On Friday, January 15, 2016 at 5:34:35 PM UTC+1, fhivert wrote: > > Dear all, > > I'd like to have a class with a method with some implementation internal > that > differ if the os is MacOS of anything else. > > Context > ======= > > I'm Fixing #13580 "Parallel map reduce on SearchForest" where I'm writing > code > to parallelize some specific computation. In the internal, I need some > synchronizing primitive such as semaphore. However, on MacOS the semaphore > are > broken (or at least are not fully POSIX compliant). In particular, on > standard > unixes, when two processes are trying to acquire a semaphore whose value > is > more than two, they always both succeeded. On MacOS, one of them may fail. > As > a consequence, I'm writing a different code form MacOS relying on a Lock > and a > shared integer. It may be slower on system where semaphore are implemented > in > a lockless way. > > Question > ======== > > I'd like to write a *Python* (not C/C++/Cython) code which is supposed to > work > fast on any Posix compliant plateform and an alternative implementation on > MacOS. Surprisingly, I can't find any other instance on the whole Sage > library. Do you think it's ok to do that ? Is a code like > > class foo: > if sys.platform != 'darwin': > def meth(self): > print "I'm on a good Posix compliant OS" > else: > def meth(self): > print "I'm using the fallback implementation" > > the right way to do it ? > > Thanks for any suggestions. > > Cheers, > > Florent > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.