Slurp

Dependencies:   FastPWM3 mbed

Committer:
austinbrown124
Date:
Sat May 20 21:42:20 2017 +0000
Revision:
0:9edd6ec0f56a
First Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
austinbrown124 0:9edd6ec0f56a 1
austinbrown124 0:9edd6ec0f56a 2 #include "math_ops.h"
austinbrown124 0:9edd6ec0f56a 3
austinbrown124 0:9edd6ec0f56a 4
austinbrown124 0:9edd6ec0f56a 5 float fmaxf(float x, float y){
austinbrown124 0:9edd6ec0f56a 6 return (((x)>(y))?(x):(y));
austinbrown124 0:9edd6ec0f56a 7 }
austinbrown124 0:9edd6ec0f56a 8
austinbrown124 0:9edd6ec0f56a 9 float fminf(float x, float y){
austinbrown124 0:9edd6ec0f56a 10 return (((x)<(y))?(x):(y));
austinbrown124 0:9edd6ec0f56a 11 }
austinbrown124 0:9edd6ec0f56a 12
austinbrown124 0:9edd6ec0f56a 13 float fmaxf3(float x, float y, float z){
austinbrown124 0:9edd6ec0f56a 14 return (x > y ? (x > z ? x : z) : (y > z ? y : z));
austinbrown124 0:9edd6ec0f56a 15 }
austinbrown124 0:9edd6ec0f56a 16
austinbrown124 0:9edd6ec0f56a 17 float fminf3(float x, float y, float z){
austinbrown124 0:9edd6ec0f56a 18 return (x < y ? (x < z ? x : z) : (y < z ? y : z));
austinbrown124 0:9edd6ec0f56a 19 }
austinbrown124 0:9edd6ec0f56a 20
austinbrown124 0:9edd6ec0f56a 21 void limit_norm(float *x, float *y, float limit){
austinbrown124 0:9edd6ec0f56a 22 float norm = sqrt(*x * *x + *y * *y);
austinbrown124 0:9edd6ec0f56a 23 if(norm > limit){
austinbrown124 0:9edd6ec0f56a 24 *x = *x * limit/norm;
austinbrown124 0:9edd6ec0f56a 25 *y = *y * limit/norm;
austinbrown124 0:9edd6ec0f56a 26 }
austinbrown124 0:9edd6ec0f56a 27 }