eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • Data: 2013-03-27 09:42:23
    Temat: Re: Nowoczesne procesory - jak to z nimi jest?
    Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu środa, 27 marca 2013 08:31:45 UTC+1 użytkownik M.M. napisał:
    > W dniu środa, 27 marca 2013 01:38:25 UTC+1 użytkownik bartekltg napisał:
    >
    > [...]
    >
    > > A, nie mówiąc już o tym, że sama procedura sumowania może
    >
    > > doprowadzić do błędów!
    >
    > > Wynik powinien byc 100 000b, a jest 10 000b
    >
    > Może rozmawiamy o innym przypadku? Ja mówię mniej/więcej o czymś takim:
    [...]
    Ten przykład to był babol. On też nie spełnia tego o czym mówię i
    maił błąd. Ten zdaje się już jest dobry:

    #include <cstdlib>
    #include <cstdio>
    #include <ctime>


    typedef double ftyp;
    typedef const ftyp cftyp;


    #define N (100)
    #define M (1<<10)
    #define K (1000000)


    void init( ftyp v[N] ) {
    for( int i=0 ; i<N ; i++ )
    v[i] = 0;
    for( int i=0 ; i<M ; i++ )
    v[rand()%N] += 1.0 / M;
    }


    void compute( ftyp v[N] ) {
    for( int i=0 ; i<K ; i++ ) {
    int s,t;
    double tmp;
    do {
    s = rand() % N;
    t = rand() % N;
    tmp = 1.0 / M * (rand()%M);
    } while( s==t || tmp > v[s] );
    v[s] -= tmp;
    v[t] += tmp;
    }
    }


    void test( cftyp v[N] ) {
    ftyp sum = 0;
    for( int i=0 ; i<N ; i++ )
    sum += v[i];
    printf( "%0.20lf %s\n" , sum-1.0, sum==1.0?"true":"false" );
    }


    int main(int argc, char *argv[]) {
    srand( 33 );
    ftyp v[N];

    init(v);
    compute(v);
    test(v);

    return 0;
    }

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: