Message-ID: <3381C71A.28FF@silesia.top.pl> Date: Tue, 20 May 1997 17:45:30 +0200 From: Michal MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: float & ints & triangle3d_f References: <199705200112 DOT LAA18997 AT solwarra DOT gbrmpa DOT gov DOT au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk Leath Muller wrote: > > > > Is comparing floats slower then comparing ints? i.e. if (a < b) > > They are much more slower. > > This is true, but if your just checking for a < b, sub a from b, store and > check the sign bit. If the sign is 0 then a <= b... If you weave the code > properly, you can do a check in about (from memory) 5 cycles... (compared > to an int's 1 though) > > Leathal. This is true, but the compiler won't do it for you, and I can't imagine writing all coparisions in assembler... so avoid it. There is another trick you maight find usefull. To convert float point to integer just add 0x59c00000 (have to be single precision fadd), store the result and use it as it was integer. It's only 1 clock less, but you have beter scheduling opportunities (can execute up to 4 integer instruction in a gap after fadd).