-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.comp.programming
Subject: Re: Przekrój przedziałów
Date: Fri, 29 May 2009 15:58:23 +0200
Organization: http://onet.pl
Lines: 36
Message-ID: <gvopk3$99c$1@news.onet.pl>
References: <gvntia$574$1@inews.gazeta.pl>
NNTP-Posting-Host: c2-211.icpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1243605443 9516 62.21.2.211 (29 May 2009 13:57:23 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 29 May 2009 13:57:23 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.19 (X11/20090105)
In-Reply-To: <gvntia$574$1@inews.gazeta.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:182172
[ ukryj nagłówki ]Wojciech "Spook" Sura pisze:
> Witam!
>
> W jaki sposób najszybciej (włączając w to assemblera) znaleźć przekrój dwóch
> przedziałów?
>
> Formalnie: Niech [A, B] i [C, D] będą dwoma domkniętymi przedziałami takimi,
> że A, B, C, D : integer. Szukany jest największy przedział [E, F] taki, że
> [E, F] zawiera się zarówno w [A, B] jak i w [C, D].
>
> Zapis przedziałów może być dowolny, ale możemy przyjąć, że jest to:
>
> type TRange = record
> Left, Right : integer;
> end;
>
> Mój pomysł jest taki:
>
> function Intersection(RangeA, RangeB : TRange; ResultIntersection : TRange)
> : boolean;
>
> begin
> ResultIntersection.left:=max(RangeA.left, RangeB.left);
> ResultIntersection.right:=min(RangeA.right, RangeB.right);
> result:=(ResultIntersection.left<=ResultIntersection
.right);
> end;
>
> Czy da się szybciej?
Asembler raczej nie da Ci tu specjalnej wydajności. Jedno co może
_odrobinę_ pomóc to pozbycie się wywołania min/max na rzecz if-else. I
ewentualnie pozbycie się wywołania samego Intersection (delphi obsługuje
funkcje inline albo makra?).
--
Pozdrawiam
Michoo
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-02 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-12-02 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-12-02 Akumulatorki Ni-MH AA i AAA Green Cell
- 2024-12-02 Usiłowanie zabójstwa
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=