🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14779

Re: Agile people still don't get it....

#14779
From: Adam Karpierz
Date: Mon, 12 Jun 2006 08:30
56 lines
2743 bytes
> Pan uwaznie to czytal...?

W miare uwaznie.
Co w tym takiego dziwnego ?
Malo to nawet samych algorytmow bywalo delikatnie mowiac
"nie dzialajacych zgodnei z zalozeniami" ?

> Pewnie mnostwo publikacji wciaz zawiera ten sam blad.

Normalka.
Copy & Paste based development

> Nie jest wiec to problem jednej skopanej implementacji.

Powiem tak.
W numeryce az sie zawsze roilo od przypadkow
(a + b + c) * z /  y

To do programisty nalezalo temu podobne wyraznienia
tak napisac, aby nie wystapil overflow ani NAN ani INF itp.

Daletego uwazam dalej ze jest to spie.. implementacja
a nei algorytm.
(niewazne kto ja napisal: autor algorytmu czy podrzedny programista
jak np ja).

Teoterycznie/matematycznie (nie wnikajac w nature intow longow
czy innych, zapis (a + b)  integer_divide 2 jest przeciez poprawny

A to co oni kombinuja z ta naprawa w Javovej implementacji
wola o pomste do nieba.

<cytat>
The bug is in this line:

 6:             int mid =(low + high) / 2;So what's the best way to fix the 
bug? Here's one way: 6:             int mid = low + ((high - low) / 2);
Probably faster, and arguably as clear is:

 6:             int mid = (low + high) >>> 1;
In C and C++ (where you don't have the >>> operator), you can do this:

 6:             mid = ((unsigned) (low + high)) >> 1;<cytat>

Czy nie mozna po prostu ?:
 6:             int mid =((long)low + (long)high) / 2;Z w/w ich poprawek 
podoba mi sie jedynie ta:

6:             int mid = low + ((high - low) / 2);


(w C++ juz tak latwo nie ma)

PS: a ta ksiazke Bentley "Programming Pearls" mam od bardzo dawna

AK
Technical Details
Message-ID: <e6j8ne$oca$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <06060804173458@polnews.pl> <e6grok$r3b$1@kujawiak.man.lodz.pl> <06061203523546@polnews.pl> <brlp829ovg258639nh034mbgo9q87tkkjv@4ax.com> <06061205435287@polnews.pl> <e6j6d4$e78$1@inews.gazeta.pl> <e6j7e5$iod$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Adam Karpierz" <karpierz@NOOOOSPAAAAMpython.pl>
Newsgroups: pl.comp.objects
Subject: Re: Agile people still don't get it....
Date: Mon, 12 Jun 2006 10:30:37 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 58
Message-ID: <e6j8ne$oca$1@inews.gazeta.pl>
References: <06060804173458@polnews.pl> <e6grok$r3b$1@kujawiak.man.lodz.pl> <06061203523546@polnews.pl> <brlp829ovg258639nh034mbgo9q87tkkjv@4ax.com> <06061205435287@polnews.pl> <e6j6d4$e78$1@inews.gazeta.pl> <e6j7e5$iod$1@inews.gazeta.pl>
NNTP-Posting-Host: nat-plk.mentorg.com
X-Trace: inews.gazeta.pl 1150101038 24970 139.181.144.34 (12 Jun 2006 08:30:38 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 12 Jun 2006 08:30:38 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
X-Priority: 3
X-RFC2646: Format=Flowed; Original
X-Newsreader: Microsoft Outlook Express 6.00.2900.2869
X-User: karpierz
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit