OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 16.04.2024, 18:58

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: Výpočet goniometrických funkcí
PříspěvekNapsal: 01.02.2017, 13:49 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
Zakladam tohle vlakno, protoze je to provarene tema a je div ze tu jeste neni. .)

Melo by se tu resit vypocet sinu, kosinu, tangenty atd. pro ruzne pripady a jazyky, taylerovy rady atd. .)

Rovno zacnu tim ze zrovna resim vypocet FSINCOS pro i287 a svete div se matematicky koprocesor to umi az od i387. Jedina goniometricka funkce co umi i287 je FPTAN.

To me dostalo, jak spocitat sinus a kosinus pres tangentu?

tan = sin / cos... no ukazalo se ze tam plati podobnost trojuhelniku a pomuze jednotkova kruznice

tan / 1 = sin / cos

a pres pytagorovu vetu to jde dopocitat. Ale bez znamenka. Bud se bude resit v jakem kvadrantu je ten uhel a nebo se zneuzije toho ze vsechny ty funkce pravidelne stridaji znamenka. Tangenta 2x rychleji, takze staci podelit uhel dvema a znamenka ji sedi se sinem. U kosinu by se muselo jeste pricist Pi/4. Tezko rici co je lepsi reseni. Kratsi? Rychlejsi? V jakem rozsahu vstupnich hodnot. Prestoze to FPTAN musi vnitrne nejak resit, instrukce na to neni.

Kód:
void _sincos( float radians, float *sine, float *cosine )
{

    register double __cosr, __sinr;
   
  __asm (
   "FLD   %%st(0);"                  // x, x
   "FPTAN;"                           // 1, tan(st0), x
   "FLD   %%st(1);"                  // tan, 1, tan, x
   "FMUL   %%st(0), %%st(0);"         // tan^2, 1, tan, x
   "FADDP   %%st(0), %%st(1);"         // 1+tan^2, tan, x
   "FSQRT;"                           // (1+tan^2)^0.5, tan, x
   "FDIVR   %%st(1),%%st(0);"          // sin, tan, x
   "FABS;"                            // sin, tan, x
   "FLD1;"                            // 1, sin, tan, x
   "FADD   %%st(0), %%st(0);"         // 2, sin, tan, x
   "FDIVR   %%st(3), %%st(0);"         // x/2, sin, tan, x
   "FPTAN;"                           // 1, tan pul, sin, tan, x
   "FSTP   %%st(0);"                  // tan pul, sin, tan, x
   "FMUL   %%st(0), %%st(1);"         // tpul, sin * tpul, tan, x
   "FABS;"                            // abs(tpul), sin * tpul, tan, x
   "FDIVRP;"                          // +-sin, tan, x
   "FSTP   %%st(2);"                  // tan, +-sin
   "FDIVR   %%st(1), %%st(0);"         // +-cos, +-sin

        : "=t" (__cosr), "=u" (__sinr) : "0" (radians));

    *sine = __sinr;
    *cosine = __cosr;
}

To dvojite nasobeni a deleni navic jen kvuli tomu, abychom predali znamenko je taky takove trapne, ale funkci SGN to taky nejak neumi. Presneji umi FTST ktera nastavi priznaky na C0, C2, C3.. ale co dal jak to predat?


Přílohy:
Unit-circle_sin_cos_tan_cot_exsec_excsc_versin_cvs.svg.png
Unit-circle_sin_cos_tan_cot_exsec_excsc_versin_cvs.svg.png [ 49.33 KiB | Zobrazeno 11517 krát ]

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 01.02.2017, 15:12 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
v TASM notaci
Kód:
   FLD   st                  ; x, x
   FPTAN                       ; 1, tan(st0), x
   FLD   st(1)               ; tan, 1, tan, x
   FMUL   st, st              ; tan^2, 1, tan, x
   FADDP   st(1), st           ; 1+tan^2, tan, x
   FSQRT                       ; (1+tan^2)^0.5, tan, x
   FDIVR   st,st(1)            ; sin, tan, x
   FABS                        ; sin, tan, x
   FLD1                        ; 1, sin, tan, x
   FADD   st, st              ; 2, sin, tan, x
   FDIVR   st, st(3)           ; x/2, sin, tan, x
   FPTAN                       ; 1, tan pul, sin, tan, x
   FSTP   st                  ; tan pul, sin, tan, x
   FMUL   st(1), st           ; tpul, sin * tpul, tan, x
   FABS                        ; abs(tpul), sin * tpul, tan, x
   FDIVP                       ; +-sin, tan, x
   FSTP   st(2)               ; tan, +-sin
   FDIVR   st, st(1)           ; +-cos, +-sin

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 01.02.2017, 23:35 
Offline
Radil

Registrován: 27.09.2014, 23:56
Příspěvky: 446
Has thanked: 436 times
Been thanked: 230 times
Hezké řešení - přemýšlím jak to nejlépe otestovat. Mám tu takový jednoduchý prográmek, který jsem kdysi spáchal v TC. Jaká by byla rychlost v porovnání se standarníma knihovníma funkacema TC?


Přílohy:
CROWN.C [1.79 KiB]
535 krát

_________________
ZX Spectrum DELTA, D80, Melodik, XY4150, Aritma 0512
PGP: A6EA 1F93 EF6B D8D1 35AD B6D7 1E79 73E5 1B28 17F9
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 03.02.2017, 17:54 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
berk píše:
Hezké řešení - přemýšlím jak to nejlépe otestovat. Mám tu takový jednoduchý prográmek, který jsem kdysi spáchal v TC. Jaká by byla rychlost v porovnání se standarníma knihovníma funkacema TC?
Testovani na cas je problem. DOSBOx pokud vim ma cas vsech emulovanych instrukci stejny.

Napadlo me, ze nejsnazsi zpusob jak zjistit, jak se to delalo je proste napsat
Kód:
#include <stdio.h>
#include <math.h>

int main( )
{
   /* your code goes here */
   volatile double d = 0.325;
   d = sin(d);
   printf("%f\n",d);
   return 0;
}

A zkompilovat to v necem pro DOS, pro 287. A pak si to prohlednout... Jenze jsem narazil, v linuxu kompilovat neco pro 16 bit je problem a pro DOS jeste vetsi. Naistaloval jsem bcc (Bruce's C compiler) a ten vyhodil jen chyby pri kompilaci. Tak jsem stahl Turbo C, protoze je uz volne a spustil to v DOSBOXu a nastavil cil 80287. A pak koukal pres Turbo Debugger jak jsem se dokrokoval k FSIN...!!! .)

Zkousel jsem hledat s jinymi klicovymi slovy a dopracoval se k http://www.ragestorm.net/downloads/287intel.txt. Tady to maji fakt komplikovany. Zacinam mit obavu ze ta fce FPTAN ma ten rozsah vstupnich hodnot co pro ni pisi mozna az od 387. (The source operand must be given in radians and must be less than +-2^63.). 8087 a 80287 to ma "The fptan instruction will only work with an angle of from 0 to PI/4.".

Vyzkouset to na realnem zeleze...

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 03.02.2017, 18:43 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1007
Bydliště: Praha
Has thanked: 63 times
Been thanked: 394 times
A nepostačilo by to sin a cos počítat jako na kalkulačce, jako rozvoj několika členů Taylorovy řady? To vyžaduje jenom +-*/ nad FP čísly.
To by snad šlo i na koprocesoru, který toho moc neumí. Ale nevím, jestli zrovna tohle je cílem.

https://is.mendelu.cz/eknihovna/opory/zobraz_cast.pl?cast=7718


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 04.02.2017, 06:06 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
Tayloruv rozvoj neni zadny prinos. Je to delsi vypocet i kod a jeste restriktivnejsi omezeni na rozsah vstupnich dat. Pro lepsi konvergenci by se volila derivace v nule nebo v Pi/2.
V tomhle by slo mozna uvazovat nad CORDIC algoritmem, ktery je vnitrne zadratovany v tom koprocesoru. Ale nejsnazsi je asi dostat vstup do prijatelneho rozsahu.

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 04.02.2017, 21:34 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
Tohle by mohlo umet spocitat tangens na 8087.
Kód:
unsigned char PiDiv4_80bit[10] = { 0x35, 0xc2, 0x68, 0x21, 0xa2, 0xda, 0x0f, 0xc9, 0xfe, 0x3f };   // 0x3ffec90fdaa22168c235

/* radians > 0 */
double i8087tan( double radians )
{
   
    double res;   
   
    __asm (
   "FLDT   %2\n"                  // pi/4
   "FLDL   %1\n"                  // x, pi/4
   "FPREM\n"                      // x mod pi/4, pi/4
// Status Word:   B,  C3, top, top, top,  C2,  C1,  C0, ...
   "FSTSW\n"                      // FPU Status Word => AX
   "FXCH\n"                       // pi/4, x mod pi/4
   "TEST   $0x02, %%ah\n"         // C1?
   "JZ   bez_doplnku%=\n"
// pocitano z doplnku
// tan ( pi/2 - x ) = sin ( pi/2 - x ) / cos ( pi/2 -x ) = cos ( x ) / sin ( x ) = 1 / tan ( x )
   "FSUBP\n"                      // y = pi/4 - (x mod pi/4)
   "FPTAN\n"                      // 1, tan(y)
   "TEST   $0x40, %%ah\n"         // C3?
   "JNZ   doplnek_zaporny%=\n"
   "FDIVP\n"                      // tan(x) = 1 / tan (y)
   "JMP   exit%=\n"              //   

"doplnek_zaporny%=:"       
   "FSTP   %%st(0)\n"             // tan(x)       
   "FCHS\n"                       // -tan(x)       
   "JMP   exit%=\n"              //   
       
"bez_doplnku%=:\n"
   "FSTP   %%st(0);"              // y = x mod pi/4
   "FPTAN\n"                      // 1, tan(y)
   "TEST   $0x40, %%ah\n"         // C3?
   "JZ   odstran_st0%=\n"
   "FDIVP\n"                      // -tan(x) = 1 / tan (y)
   "FCHS\n"                       // tan(x)       
   "JMP   exit%=\n"              //
       
"odstran_st0%=:"
   "FSTP   %%st(0);"              // tan(x)       
"exit%=:"

   "FSTPL   %0\n"

        : "=m" (res) : "m" (radians), "m" (PiDiv4_80bit)
    );

    return res;
}


Trosku me zaskocilo ze double v C je 64 bit a koprocesor to vlastne pocita 80 bit.
Kód:
   "FLDPI\n"                      // pi
   "FLD1\n"                       // 1, pi
   "FADD   %%st(0), %%st(0)\n"    // 2, pi
   "FADD   %%st(0), %%st(0)\n"    // 4, pi
   "FDIVRP\n"                     // pi/4
Zabira 10 bajtu a jeste je to pomale nez to mit ulozene nekde predpocitane a delsi jen o adresu.
Kód:
   "FLDT   %2\n"                  // pi/4

Vtipna instrukce je
Kód:
   "FPREM\n"                      // x mod pi/4, pi/4
ktera spocita zbytek po celociselnem deleni a jeste nastavi do stavoveho slova nejake bity z kterych jde zjistit kvadrant i "osminku".

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 01:25 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
A fce FSINCOSby mohla vypadat nejake takto:
Kód:
unsigned char PiDiv4_80bit[10] = { 0x35, 0xc2, 0x68, 0x21, 0xa2, 0xda, 0x0f, 0xc9, 0xfe, 0x3f };   // 0x3ffec90fdaa22168c235

/* radians > 0 */
void __i8087fsincos( double radians, double *sin, double *cos )
{
   
    double _sin, _cos;   
       
    __asm (
   "FLDT   %3\n"                  // pi/4
   "FLDL   %2\n"                  // x, pi/4
   "FPREM\n"                      // x mod pi/4, pi/4
// Status Word:   B,  C3, top, top, top,  C2,  C1,  C0, ...
   "FSTSW\n"                      // FPU Status Word => AX
   "FXCH\n"                       // pi/4, x mod pi/4
       
   "MOV   %%ah,%%al\n"           //
   "TEST   $0x40, %%ah\n"         // C3?
   "JZ   no_c3%=\n"             //
   "XOR   $0xff,%%al\n"          // C3 xor C1, C3 xor C0
"no_c3%=:"
       
   "TEST   $0x02, %%ah\n"         // C1?
   "JZ   bez_doplnku%=\n"
// pocitano z doplnku
// tan ( pi/2 - x ) = sin ( pi/2 - x ) / cos ( pi/2 -x ) = cos ( x ) / sin ( x ) = 1 / tan ( x )
   "FSUBP\n"                      // y = pi/4 - (x mod pi/4)
   "JMP   tan_ok%=\n"
   
"bez_doplnku%=:\n"
   "FSTP   %%st(0)\n"             // y = x mod pi/4
"tan_ok%=:\n"
   "FPTAN\n"                      // 1, tan(y)     0 <= y <= Pi/4

   "FLD   %%st(1)\n"             // tan, 1, tan
   "FMUL   %%st(0), %%st(0)\n"    // tan^2, 1, tan
   "FADD   %%st(1), %%st(0)\n"    // 1+tan^2, 1, tan
   "FSQRT\n"                      // (1+tan^2)^0.5, 1, tan
   "FXCH   %%st(2)\n"             // tan, 1, (1+tan^2)^0.5
       
   "TEST   $0x02, %%al\n"         // C3 xor C1
   "JZ   prohod%=\n"
   "FXCH\n"                       // 1, tan, (1+tan^2)^0.5
"prohod%=:\n"
       
   "FDIV   %%st(2), %%st(0)\n"    // sin, 1, (1+tan^2)^0.5       
   "TEST   $0x01, %%ah\n"         // C0?
   "JZ   kladny_sin%=\n"
   "FCHS\n"                       // -sin, 1, (1+tan^2)^0.5
"kladny_sin%=:\n"
   "FXCH   %%st(2)\n"             // (1+tan^2)^0.5, 1, +-sin
   "FDIVRP\n"                     // cos, +-sin
       
   "TEST   $0x01, %%al\n"         // C3 xor C0
   "JZ   kladny_cos%=\n"
   "FCHS\n"                       // -cos, +-sin
"kladny_cos%=:\n"
/**/
        : "=t" (_cos), "=u" (_sin) : "m" (radians), "m" (PiDiv4_80bit)
    );

    *sin = _sin;
    *cos = _cos;
}


_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 10:33 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
Tak to muze byt jeste slozitejsi protoze jsem si nehral s FWAIT a 8087 byl pripojeny jinak.
Citace:
The original IBM-PC, and the XT, accept the original floating
point chip, the 8087. Later processors accept corresponding
chips: the 287 for the 286, the 387 for the 386, etc. From a
programming standpoint, the 8087 and 287 are nearly identical:
the 287 adds the instructions FSETPM and FSTSW AX, and ignores
the instructions FENI and FDISI. There is, however, a rather
nasty design flaw in the 8087, that was corrected in the 287.

To understand the flaw, you must understand how the 86 and 87
work as coprocessors. Whenever the 86 sees a floating point
instruction, it communicates the instruction, and any associated
memory operands, to the 87. Then the 86 goes on to its next
instruction, operating in parallel with the 87. That's OK, so
long as the following instructions don't do one of the following:

1. Execute another floating point instruction; or

2. Try to read the results of the still-executing floating
point instruction.

If they do, then you must provide an instruction called WAIT (or
synonymously FWAIT), which halts the 86 until the 87 is finished.
For almost all floating point instructions, it should not be
necessary to provide an explicit FWAIT; the 86 ought to know that
it should wait. For the 8087, it IS necessary to give an
explicit FWAIT before each floating point instruction: that is
the flaw.

Because of the flaw, all assemblers supporting the 8087 will
silently insert an FWAIT code (hex 9B) before all 87
instructions, except those few (the FN instructions other than
FNOP) not requiring the FWAIT. A86 will insert the opcode as
well, when it is assembling for the original 8087.

The are three ways to tell A86 whether it is assembling for an
8087 or a 287-or-later processor. First, A86 will use a default
for the processor on which it is currently assembling: no .287
for an 8086, 8088, 186, or NEC; .287 for a 286 or later. Second,
this can be overridden by the switch +F (the F must be
capitalized), to signal that the 287 is the target processor, or
-F to specify the 8087. Third, an 8087 setting can be further
overridden in the source code, with the directive ".287",
compatible with Microsoft's assembler.

When A86 is assembling for the 287 or later, it ceases outputting
FWAIT directives that are unnecessary for the 287, ignores the
instructions FENI, FDISI, FNENI, and FNDISI, and honors the
instructions FSETPM and FSTSW AX.

WARNING: The most common mistake 87 programmers make is to try to
read the results of an 87 operation in 86 memory, before the
results are ready. At least on my computer, the system often
crashes when you do this! If your program runs correctly when
single stepped, but crashes when set loose, then chances are you
need an extra explicit FWAIT somewhere.


_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 20:30 
Offline
Radil

Registrován: 27.09.2014, 23:56
Příspěvky: 446
Has thanked: 436 times
Been thanked: 230 times
Díky za hezké téma a zajímavé příklady.
Každopádně by to chtělo hardware - aby to nebyla jen teorie. Já mám hezkou 386, ale bez kopru :-( Snad se časem něco najde...

_________________
ZX Spectrum DELTA, D80, Melodik, XY4150, Aritma 0512
PGP: A6EA 1F93 EF6B D8D1 35AD B6D7 1E79 73E5 1B28 17F9


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 21:02 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
berk píše:
Díky za hezké téma a zajímavé příklady.
Každopádně by to chtělo hardware - aby to nebyla jen teorie. Já mám hezkou 386, ale bez kopru :-( Snad se časem něco najde...

387 uz ma FSINCOS. .)

287 ma asi uz jinak resene to pripojeni koprocesoru, fakt vaham, kde ma byt FWAIT a kde ne. V tom vzorovem prikladu je jen jedno, a az na konci..

8086 assembler je strasna hruza oproti Z80. Koukam ze napisi XOR AL,AL...2 byty! Coze? MOV AL,0 je pakto same. Kratke instrukce pro rotace akumulatoru..kde? Invertovani akumulatoru? Nikde? INC AL jsou zase 2 byty! :o

Online kompilace: Preview by Thumbshots.com

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 22:42 
Offline
Radil

Registrován: 27.09.2014, 23:56
Příspěvky: 446
Has thanked: 436 times
Been thanked: 230 times
Citace:
387 uz ma FSINCOS. .)


Moje 386 při startu píše Co-Processor: Not Installed
Když v bc zvolím Floating Point 80287/387, tak se zkompilovaný program nespustí.

_________________
ZX Spectrum DELTA, D80, Melodik, XY4150, Aritma 0512
PGP: A6EA 1F93 EF6B D8D1 35AD B6D7 1E79 73E5 1B28 17F9


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 22:55 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1113
Has thanked: 100 times
Been thanked: 159 times
_dworkin píše:
berk píše:
Díky za hezké téma a zajímavé příklady.
Každopádně by to chtělo hardware - aby to nebyla jen teorie. Já mám hezkou 386, ale bez kopru :-( Snad se časem něco najde...

387 uz ma FSINCOS. .)

287 ma asi uz jinak resene to pripojeni koprocesoru, fakt vaham, kde ma byt FWAIT a kde ne. V tom vzorovem prikladu je jen jedno, a az na konci..

8086 assembler je strasna hruza oproti Z80. Koukam ze napisi XOR AL,AL...2 byty! Coze? MOV AL,0 je pakto same. Kratke instrukce pro rotace akumulatoru..kde? Invertovani akumulatoru? Nikde? INC AL jsou zase 2 byty! :o

Online kompilace: Preview by Thumbshots.com

Jsme si nerozumeli. Matematicky koprocesor byl integrovany od 486, krome nejakych SX co to meli zablokovane. Kdyz pisi 8086, 80286, 80386 tak myslim procesor. Kdyz 8087, 80287, 80387 tak ten matematicky koprocesor. I ty zkracene verze zapisu.

Pokud bys mel teda koprocesor tak mas od 387 uz instrukci FSINCOS. Kdyz nemas tak ti pomuze jen kompletni softwarova emulace.

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 05.02.2017, 23:23 
Offline
Radil

Registrován: 27.09.2014, 23:56
Příspěvky: 446
Has thanked: 436 times
Been thanked: 230 times
jj, moje chyba - tys napsal 387 uz ma FSINCOS. .) a já to přečetl 386 uz ma FSINCOS. .)

Musím ho někde sehnat :-)

_________________
ZX Spectrum DELTA, D80, Melodik, XY4150, Aritma 0512
PGP: A6EA 1F93 EF6B D8D1 35AD B6D7 1E79 73E5 1B28 17F9


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Výpočet goniometrických funkcí
PříspěvekNapsal: 06.02.2017, 00:07 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2586
Bydliště: Praha
Has thanked: 510 times
Been thanked: 619 times
Vyzkoušení na reálném železe není problém, mám funkční XT s V20+8087. Ale nejdřív příští týden, teď jsem pryč...

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz