13-06-2012, 03:24 PM
(13-06-2012, 02:43 PM)felch Kirjutas: Võtsin siis SIN ja COS c-keelest üle aga ei aita midagi. Kas tõesti peab ka ülejäänud mati ringi kirjutama ?Seal MCC18 kataloogis on sincos.c programm.
Mõni rida sealt:
#define PI_C1 3.140625
aga
#define PI_C2 9.67653589793E-4f
float _sincos(float x, unsigned char flag)
#define TWOPI 6.28318530717958648f
y = fabs(x);
if(y >= YMAX)
{
// y = fmod(y, TWOPI);
xn = y/TWOPI;
xn = (long)xn;
y = y - xn*TWOPI;
}
Ilmselt nii kasvab jagamise täpsus.
Vaata seda, vast saab selle kuu pika sin arvutuse alamprogrammis ära teha ja muutujad sellisel pikal kujul kirja panna.
Ja kui seal seda jada arvutuse rida natuke pikendada siis
võiks ka täpsus kasvada.
Kui C kirjas siis saab ta ära transleerida ja siis on listis asm olemas.
Ainult suru kokku. Kui annab.
Kunagi 68. pakiti Tõraveres pikad arvud kahe muutuja sisse peitu.