eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszybki logarytmRe: szybki logarytm
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: szybki logarytm
    Date: Wed, 23 Jul 2014 16:20:07 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 35
    Message-ID: <lqogan$8ef$1@node1.news.atman.pl>
    References: <lqh403$k4t$1@node2.news.atman.pl> <lqllir$26e$1@node2.news.atman.pl>
    <9...@g...com>
    NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1406125207 8655 89.73.81.145 (23 Jul 2014 14:20:07 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 23 Jul 2014 14:20:07 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101
    Thunderbird/24.6.0
    In-Reply-To: <9...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:206408
    [ ukryj nagłówki ]

    On 23.07.2014 07:54, Wojciech Muła wrote:
    > On Tuesday, July 22, 2014 2:31:22 PM UTC+2, bartekltg wrote:
    >> Coś źle kompilowałem, czy logarytm jest lekko niedopieszczony?
    >> A może mój algorytm pomija coś potrzebnego do komfortowego
    >> uniwersalnego działania, co jest tak obciążające?
    >> Dodanie if (x<=0) return nan(""); praktycznie nic nie zmienia.
    >
    > Nie sprawdzasz klasy liczby, tzn. czy to NaN lub +/-Inf.

    Chyba to to. Dodając warunek isnormal(x) (i robiąc odpowiednią
    obsługę pozostałych liczb, ale to ma mniejsze znaczenie, bo testuje
    tylko na 'normalnych') wyniki są jak 24:28, niewiele, a jest bardo
    wrażliwe na ułożenie kolejności drabinki ifów, więc pewnie ręczna
    wersja działa ciut szybciej u mnie, ale niekoniecznie dla każdej
    maszyny.

    Wcześniej dodałem warunek na x>0 i to praktycznie nie zmieniło
    wyniku, stąd nie spodziewałem się takiej różnicy przy
    filtrach na pozostałe warunki.


    > Lecz poza tym funkcje biblioteczne pewnie korzystają z FPU,
    > na którym muszą używać dramatycznie wolnego rozkazu fly2x
    > (ok 100 cykli opóźnienia).

    Gdzieś w wątku podawałem firowi kod asm.
    http://pastebin.com/BZpVhHGb
    Nie używa fpu, też liczy jakąś funkcję wymierną. Ciąg działań
    mnożenia i dodawania, na koniec jedno divds.


    pozdrawiam
    bartekltg


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: