Objective-C Math functions

Objective-C uses C’s math which you can find in math.h, however as we do program in different languages it is really annoying to remember by heart how the function names are abbreviated in each and every language. Thus comes here a short math overview of the math in Objective-C.

Math functions

double pow ( double, double ) - power of

NSLog(@"%.f", pow(3,2) ); //result 9
NSLog(@"%.f", pow(3,3) ); //result 27

double  sqrt( double ) - square root

NSLog(@"%.f", sqrt(16) ); //result 4
NSLog(@"%.f", sqrt(81) ); //result 9

double ceil ( double ) - if the argument has any decimal part, returns the next bigger integer

NSLog(@"res: %.f", ceil(3.000000000001)); //result 4
NSLog(@"res: %.f", ceil(3.00)); //result 3

double floor ( double ) - removes the decimal part of the argument

NSLog(@"res: %.f", floor(3.000000000001)); //result 3
NSLog(@"res: %.f", floor(3.9999999)); //result 3

double round ( double ) - rounds the argument

NSLog(@"res: %.f", round(3.5)); //result 4
NSLog(@"res: %.f", round(3.46)); //result 3
NSLog(@"res: %.f", round(-3.5)); //NB: this one returns -4

double fmin ( double, double ) - returns the smaller argument

NSLog(@"res: %.f", fmin(5,10)); //result 5

double fmax ( double, double ) - returns the bigger argument

NSLog(@"res: %.f", fmax(5,10)); //result 10

double  fabs( double ) - returns the absolute value of the argument

NSLog(@"res: %.f", fabs(10)); //result 10
NSLog(@"res: %.f", fabs(-10)); //result 10

Eventually you will find also all the trigonometry you’ll need as: sin, cos, tan, atan, and their variations.

Few math constants

As found in the math.h

#define M_E         2.71828182845904523536028747135266250   /* e */
#define M_LOG2E     1.44269504088896340735992468100189214   /* log 2e */
#define M_LOG10E    0.434294481903251827651128918916605082  /* log 10e */
#define M_LN2       0.693147180559945309417232121458176568  /* log e2 */
#define M_LN10      2.30258509299404568401799145468436421   /* log e10 */
#define M_PI        3.14159265358979323846264338327950288   /* pi */
#define M_PI_2      1.57079632679489661923132169163975144   /* pi/2 */
#define M_PI_4      0.785398163397448309615660845819875721  /* pi/4 */
#define M_1_PI      0.318309886183790671537767526745028724  /* 1/pi */
#define M_2_PI      0.636619772367581343075535053490057448  /* 2/pi */
#define M_2_SQRTPI  1.12837916709551257389615890312154517   /* 2/sqrt(pi) */
#define M_SQRT2     1.41421356237309504880168872420969808   /* sqrt(2) */
#define M_SQRT1_2   0.707106781186547524400844362104849039  /* 1/sqrt(2) */
 
#define	MAXFLOAT	((float)3.40282346638528860e+38)

So, this is a wrap up for the overview of Objective-C math, if I missed the one function you use the most, feel free to leave a comment and share it with the other readers.


posted on 2011-08-17 14:25  yang3wei  阅读(423)  评论(0编辑  收藏  举报