Found a 64bit double implementation library, but I cannot compile it

thanks very much for pointing the float bug out :slight_smile:

You can probably cut down the precision of bigPI - that uses RAM and you are hardly going to need all those digits.

doesn't BigNumber::setScale (20); throw out unnecessary char for me? also static string reside in flash, at least in the newer ide.

don't trust this acos implementation, just the first thing i've found to make some test.

execution time (microseconds, precision of 5): 142256 vs 116(using float)

because GPS normally troughput is 1Hz, this library IS FAST enough :grin: sadly it is too big and slow (but for slowness just divide and conquer...) to be on my quad software.

Basically this test is just to understand if arduino can plot a GPS path between 2 point... seems like he can, but sadly it won't do much more :grin:

ps. now i'll try the faster implmentation c=mod(atan2(sin(lon1-lon2)*cos(lat2), cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)cos(lon1-lon2)), 2M_PI);