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.
Original blog post is Here : http://www.touch-code-magazine.com/objective-c-math-functions/
No comments:
Post a Comment