Valid HTML 4.01!

Valid CSS!
www.oisyn.nl news whois projects forum new user

questa at 1-03-07 15:23
AAADDDS! * click

Woudloper at 24-01-07 11:58
Zag de ads! Heb er nog op één geklikt omdat er iets interessants tussenstond :)

.oisyn at 23-01-07 15:46
Aangezien ik zowaar visitors heb, even wat ads toegevoegd :+

Woudloper at 8-01-07 8:02
Met de UBB Parser aan het stoeien

Woudloper at 5-01-07 10:22
Nieuwe reactie toegevoegd bij het artikel over UBB Parser

Spockz at 31-12-06 12:42
Ja, dit werkt nog hoor. :)

.oisyn at 28-12-06 16:37
Werkt dit nog?

questa at 21-11-05 15:15
*gaap

Grubolsch at 9-06-05 17:12
Bedankt om dit alles open source te maken, ik vermeld je zeker op mijn website! Echt knap werk!

Grubolsch at 9-06-05 17:12
.oisyn, ik moet zeggen dat ik je parser enorm knap vind, en ook je syntacs highlighter!

questa at 8-02-05 13:52
Jammer dat het nooit af komt, maar vertel is meer over je nieuwe baan!!!

.oisyn at 17-05-04 15:28
Dat laatste, weinig tijd enzo. Eerlijk gezegd denk ik niet dat het ooit nog geimplementeerd wordt :/

koli-man at 11-05-04 22:38
Is er eigenlijk nog Orbb nieuws of staat project een beetje stil?

.oisyn at 2-04-04 18:38
/me doet maar weer eens een update :P

eamelink at 1-02-04 11:27
*kick* ;)

questa at 8-12-03 22:16
Kom op, pronken met die zooi!!!

curry684 at 4-12-03 14:04
En waar is de sourcecode van Orbb? Doe eens treehugging opensource hippie uithangen!

questa at 1-12-03 12:49
Damz.. dan maar even hopen dat de compiler snel aan ze 1.0 versie komt :) dan is Questa weer blij!

coubertin119 at 12-11-03 18:32
Pff, ik ben gewoon ongeduldig ;)

.oisyn at 12-11-03 18:29
Wat boeit dat? Je hebt er toch niets aan zolang er geen compiler is ;)

Active articles#

Kol Q l8or 2 beta 4
Code syntax highlighter (php module) 21
UBB Parser (PHP code) 9
Compile-time sqrt in C++ 3
Experiment #1 2
More dynamics :) 3
Interfacing Orbb with C++ 1
Site migrated 0
Integer division using binary long division method 0
Nieuwe forum online 0
Not logged in

News / Compile-time sqrt in C++


Compile-time sqrt in C++
Thu 22 Jan 2004 20:34 by .oisyn

In het kader van achtergestelde content post ik maar weer eens iets

c++:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>

template <unsigned long long Aunsigned long long Bstruct gcd
{
    enum { value = gcd<BA%B>::value };
};

template <unsigned long long Astruct gcd<A0>
{
    enum { value = A };
};

template <unsigned long long Nunsigned long long D = 1struct fraction
{
    static const unsigned long long n = N;
    static const unsigned long long d = D;
    static const unsigned long long denom = gcd<ND>::value;
    static double value;

    typedef fraction<N / denomD / denomnormalized;
    typedef fraction<D / denomN / denominversed;

    template <class Tstruct add
    {
        typedef typename fraction<N * T::d + T::n * DD * T::d>::normalized fraction;
    };

    template <class Tstruct mul
    {
        typedef typename fraction<N * T::nD * T::d>::normalized fraction;
    };

    static std::ostream & write (std::ostream & o)
    {
        return o << N << '/' << D;
    }
};
template<unsigned long long Nunsigned long long Ddouble fraction<ND>::value = (double)N / (double)D;

template <unsigned long long Nunsigned long long D>
std::ostream & operator << (std::ostream & oconst fraction<ND> & f)
{
    return f.write (o);
}


template <int Nint STEPSstruct sqrt
{
    typedef typename sqrt<NSTEPS - 1>::answer prev;
    typedef typename
            prev::add<
                typename fraction<N>::template mul<
                    typename prev::inversed
                >::fraction
            >::fraction::
            template mul<fraction<12> >::fraction
        answer;
};

template <int Nstruct sqrt<N0>
{
    typedef typename fraction<N2>::normalized answer;
};


int main ()
{
    // geeft de benadering van sqrt (2) in 5 stappen:
    std::cout << sqrt<2,5>::answer::value << std::endl;
}



Gebaseerd op Newton's methode die zegt: als x een benadering van de wortel van q is, dan is (x + q/x) / 2 een betere benadering

pros:
- het hielp mij wat tijd te doven

cons:
- je hebt er geen fuck aan
- na een relatief weinig aantal stappen ga je al over de boudaries van een unsigned long long (2^64 - 1)


mogelijke punten ter verbetering ende tijdverdrijf:
- IEEE floating point standaard verwerken in een template en daar gebruik maken van ipv breuken

3 comments - 1 page
Post comment


Comments


Sun 1 Feb 2004 11:28 by eamelink

Tja... Wat kan je ervan zeggen he?

Leuk! Nu verder met Orbb
Tue 3 Feb 2004 0:42 by .oisyn

Iieeee, mensen op mijn website!
Mon 9 Feb 2004 10:15 by questa

Je dacht toch niet echt dat je het voor niets deed


Post comment


You must be logged in to post a comment