Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Guest Anonymous Poster

PI

This topic is 6949 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Guest Anonymous Poster
Sorry about that, stupid mistake
I entered a wrong digit after the 9 and it gets rounded up so I lose the 9

Share this post


Link to post
Share on other sites
Advertisement
actually, here's a problem i had in VC++. first i'd put an integer in a float, such as 3.0, and when the float is in a watch window or something like that, it's displayed as something like 3.0000. but when i do this: (double)var, it ends up 3.00000038832, or something like that.

anyway there's some garbage at the end which comes from the inability to represent numbers that aren't a power of 2 exactly, so if you do var == 3.0f, it'll fail. just like to point that out to people who're getting weird float problems, that was what caused the lighting problems in my opensource engine
http://members.xoom.com/mutex0

Share this post


Link to post
Share on other sites
this has been a point of contention with me for some time.

Pascal has a constant for pi. C++ does not.

i mean, SURE, pi is easily copied, or calculated (pi=atan(1)*4 or pi=abs(atan2(-1,0)) ), but isnt pi an important enough number to have a constant in math.h?

i can understand not making e a constant, because e is more rarely used, and the way to get it is just exp(1). also, i dont ever suggest having a constant that is a single letter.

Share this post


Link to post
Share on other sites
/usr/include >grep -i pi math.h

#define M_PI 3.14159265358979323846
#define M_PI_2 1.57079632679489661923
#define M_PI_4 0.78539816339744830962
#define M_1_PI 0.31830988618379067154
#define M_2_PI 0.63661977236758134308
#define M_2_SQRTPI 1.12837916709551257390

C:\MSdev\include>grep -i pi math.h
* Currently, all MS C compilers for Win32 platforms default to 8 byte
/* Define _CRTAPI1 (for compatibility with the NT SDK) */
#ifndef _CRTAPI1
#define _CRTAPI1 __cdecl
#define _CRTAPI1
/* Define _CRTAPI2 (for compatibility with the NT SDK) */
#ifndef _CRTAPI2
#define _CRTAPI2 __cdecl
#define _CRTAPI2
/* Define __cdecl for non-Microsoft compilers */

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Just a quick question.
When I put PI in a variable (float or double), I always get 3.1416. But when I use assembler and do :
fldpi
fst pi

pi contains 3.14159
Can anybody explain the extra digit to me?
Thanks

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
why the 20 digits?
in my coursebook it says that a float has 7 digits precisions
and a double has 15 digit precision
or is there a bigger FP-number?

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!