Space optimizing : C++, mega8, math.h

Hi again,

I'm having problems getting room for the code in my ATmega8. I found that working with 32 bit int's wasn't enough, but now I changed et all to 64 bit int's the code grew about 50% from about 80% of the mega8's space to about

120% :( I found that most of the space is lost in the following code where I use fabs and sqrt. If I remove thoes lines the code is fills about 99%...

Anybody knows how to optimize the code to use less space, of a feature in AVR studio (GCC) to optimize. Speed is NOT important, space is.

"C:\WinAVR\bin\..\lib\gcc\avr\3.4.6\..\..\..\..\avr\bin\ld.exe: region text is full (cnc.elf section .text)" :(

Thanks - Henning

void moveto(uint64_t nyx,uint64_t nyy,uint64_t nyz) { long int dx; long int dy; long int dz;

double Rho; double enX; double enY; double enZ;

double x; double y; double z;

dx = nyx - globalx; dy = nyy - globaly; dz = nyz - globalz;

Rho = sqrt((double)(dx * dx) + (double)(dy * dy) + (double)(dz * dz));

enX = (double)dx / Rho; enY = (double)dy / Rho; enZ = (double)dz / Rho;

x=0; y=0; z=0;

int R = 0;

for (R=0;R= 1) { if (x= 1) { if (y= 1) { if (z

Reply to
Henning Mortensen
Loading thread data ...

Hi again,

I found that if I remove the line for (R=0;R Hi again,

Reply to
Henning Mortensen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.