View Full Version : Crio Square Roots
tekman1001
15-02-2009, 10:15
Hi our crio is giving us errors when we try to do square roots using sqrt(variable)
Where variable is obviously a variable. any help would be usefully and appreciated.
EricVanWyk
15-02-2009, 10:18
Hi our crio is giving us errors when we try to do square roots using sqrt(variable)
Where variable is obviously a variable. any help would be usefully and appreciated.
We're going to need a bit more info to help you out here.
What errors are you getting? What does your code look like?
tekman1001
15-02-2009, 10:23
When we try to download to the crio it tells us it cannot find the function. The code looks like this "Kvar = Dvar / sqrt(PrecentVar);"
Sentient
15-02-2009, 11:18
It may be that WPILib doesn't have a sqrt function. I honestly don't know what WPILib has implemented, but sqrt() is usually in "math.h", which is a Windows Library (or whatever OS you are using).
Second sentinel, make sure you #include <cmath>
bronxbomber92
15-02-2009, 12:40
If for some reason you're having problems beyond #included <cmath> (in which case, you should probably fix anyways :-P) here's a nice implementation of sqrt for floats taken from quake:
float SquareRootFloat(float number) {
long i;
float x, y;
const float f = 1.5F;
x = number * 0.5F;
y = number;
i = * ( long * ) &y;
i = 0x5f3759df - ( i >> 1 );
y = * ( float * ) &i;
y = y * ( f - ( x * y * y ) );
y = y * ( f - ( x * y * y ) );
return number * y;
}
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.