   float vs double
  Does float calculations are faster then double calculations?Is there a decent support to float (classes of math) vs double support?What should I use? 
  Floats take half the memory, which is a good thing when you have lots of them. They have in general enough accuracy for games... Doubles are about as accurate as it gets and should be used if rounding errors are causing a problem with floats, or for any non-time critical mathematics. ;  As far as I know... actual calculations (once variables are in registers) with floats are just as fast as with doubles (as they are internally handled at 80bit accuracy to allow for meaningful equality testing). The main performane difference between floats and doubles comes from memory bandwisth issues. In 3D graphics programming, a lot of data has to be moved... and hence memory bandwidth with respect to the data is a bottlneck, hence floats (being half the size) are twice as fast. Equally... with SSE... 4 floats can be operated on in one operations, yeilding a potential 4x speed up (and with newer hyperthreaded processors.. possibly even more). Similarly SSE2 allows operating on 2 doubles in one operation. For scientific work, it is conventional to use doubles, as usually performance is secondary to precision (and in fact.. multiple precision types are often used in some situations). The deciding factor for you, should not be which is faster, but rather which produces results to within your desired tolerance. Often floats are sufficient, if so, use floats... if they are not accurate enough... then use doubles. If your default real type is double.. then you''ll never know if floats would have done the job quicker. If your default real type is float.. then you''ll see that they weren''t accurate enough and switch. 