On 26 Mar 2012 at 18:49, Charles Law wrote:
>
> It's good. I've heard this called tuple packing/unpacking. I think behind the
> scenes python creates
> a tuple with the values max(x,y) and max(x,y). After the tuple is created,
> the values are
> "unpacked" to x and y.
Yes, it might be more obvious with my version:
x, y = (max(x, y), min(x, y))
Here you can see that it is intended to create a tuple. But the extra brackets
aren't neccessary, as Luke correctly saw.
It's somewhat of a C ?: workaround.
Mike
>
> On Mon, Mar 26, 2012 at 6:17 PM, Peter Bittner <[email protected]> wrote:
> Just some sort of code review...
>
> def hypot(x, y):
> """Calculate the hypotenuse the safe way, avoiding over- and
> underflows"""
> x = abs(x)
> y = abs(y)
> x, y = max(x, y), min(x, y)
> return x * sqrt(1 + (y/x) * (y/x))
>
> Is the calculation correct in line 3? What if "max(x,y)" is y? Doesn't
> "min(x,y)" then evaluate to "min(y,y)"?
>
> It seems to work correctly, and looks odd to me at the same time.
> (Note that the example from Wikipedia uses a temporary variable t.)
>
> Feel free to ignore,
> Peter
>
>
> 2012/3/26 Michael Perkonigg <[email protected]>:
> > On 26 Mar 2012 at 21:03, lkcl luke wrote:
> >
> >> On Mon, Mar 26, 2012 at 8:26 PM, Michael Perkonigg
> <[email protected]> wrote:
> >> > On 26 Mar 2012 at 10:57, Peter Bittner wrote:
> >> >
> >> >> Shouldn't we use the safe version of calculating the hypotenuse?
> >> >> http://en.wikipedia.org/wiki/Hypot
> >> >
> >> > Sounds reasonable. I have a diff for that too, want me to raise a
> new issue,
> >> > reopen the old one (if that's possible) or forget it?
> >>
> >> reopen.
> >
> > I attached the diff file (against HEAD!) but cannot change the state of
> the
> > issue.
> > http://code.google.com/p/pyjamas/issues/detail?id=705
> >
> >
> > Mike
>
>
>