From 9477dbe667f250ecd23f8fc0d56b942191526421 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Thu, 25 Feb 2021 14:42:55 +0100 Subject: Stare semestry, niepoukladane --- Semestr 3/anm/pracowniaPOP/diff/program.diff | 148 +++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 Semestr 3/anm/pracowniaPOP/diff/program.diff (limited to 'Semestr 3/anm/pracowniaPOP/diff/program.diff') diff --git a/Semestr 3/anm/pracowniaPOP/diff/program.diff b/Semestr 3/anm/pracowniaPOP/diff/program.diff new file mode 100644 index 0000000..269ac85 --- /dev/null +++ b/Semestr 3/anm/pracowniaPOP/diff/program.diff @@ -0,0 +1,148 @@ +2a3 +> # stałe dla CORDIC'A +11a13 +> # stałe dla obliczania szeregiem Taylora +31c33,34 +< # generyczna funkcja stosująca wzory redukcyjne, licząca sinusa +--- +> # generyczna funkcja stosująca wzory redukcyjne, licząca sin(x) +> # za pomocą podanych funkcji sin_fun, cos_fun +32a36 +> # sin(-x) = sin(x) +36a41 +> # sin(π + x) = -sin(x) +39a45 +> # sin(π/2 + x) = cos(x) +42a49 +> # sin(π/2 - x) = cos(x) +49c56,57 +< # generyczna funkcja stosująca wzory redukcyjne, licząca cosinusa +--- +> # generyczna funkcja stosująca wzory redukcyjne, licząca cos(x) +> # za pomocą podanych funkcji sin_fun, cos_fun +50a59 +> # cos(-x) = cos(x) +54a64 +> # cos(π + x) = -cos(x) +57a68 +> # cos(π/2 + x) = -sin(x) +60a72 +> # cos(π/2 - x) = sin(x) +67c79 +< # sin dla liczb rzeczywistych [taylor] +--- +> # sin dla liczb rzeczywistych [Taylor] +72c84 +< # cos dla liczb rzeczywistych [taylor] +--- +> # cos dla liczb rzeczywistych [Taylor] +77c89 +< # sinh [taylor] +--- +> # sinh [Taylor] +78a91 +> # sinh(1000) jest za duży by reprezentować go we Float64 +87a101,102 +> # dla dużych liczb korzystamy ze wzoru: +> # sinh(2r) = 2 * cosh(r) * sinh(r) +94c109 +< # cosh [taylor] +--- +> # cosh [Taylor] +95a111 +> # cosh(1000) jest za duży by reprezentować go we Float64 +101a118,119 +> # dla dużych liczb korzystamy ze wzoru: +> # cosh(2r) = cosh(r)^2 + sinh(r)^2 +110c128 +< # sin dla liczb zespolonych [taylor] +--- +> # sin dla liczb zespolonych [Taylor] +111a130 +> # sin(a + bi) = sin(a) * cosh(b) + i(cos(a) * sinh(b)) +116c135 +< # cos dla liczb zespolonych [taylor] +--- +> # cos dla liczb zespolonych [Taylor] +117a137 +> # cos(a + bi) = cos(a) * cosh(b) - i(sin(a) * sinh(b)) +122c142 +< # funkcja dla użytkownika [taylor] +--- +> # funkcja sin dla użytkownika [Taylor] +127c147 +< # funkcja dla użytkownika [taylor] +--- +> # funkcja cos dla użytkownika [Taylor] +132c152 +< # funkcja dla użytkownika [taylor] +--- +> # funkcja sinh dla użytkownika [Taylor] +137c157 +< # funkcja dla użytkownika [taylor] +--- +> # funkcja cosh dla użytkownika [Taylor] +142c162 +< # preprocesing [cordic] +--- +> # preprocesing [CORDIC] +158c178 +< # preprocesing [cordic] +--- +> # preprocesing [CORDIC] +168c188 +< # funkcja licząca zarówno sin oraz cos [cordic] +--- +> # funkcja licząca zarówno cosx oraz sinx algorytmem CORDIC +175a196 +> # Proces iteracyjny algorytmu CORDIC +195c216 +< # wyciąganie sin z approx_trig [cordic] +--- +> # wyciąganie sin z approx_trig [CORDIC] +201c222 +< # wyciąganie cos z approx_trig [cordic] +--- +> # wyciąganie cos z approx_trig [CORDIC] +206c227 +< # funkcja dla użytkownika [cordic] +--- +> # funkcja sin dla użytkownika [CORDIC] +211c232 +< # funkcja dla użytkownika [cordic] +--- +> # funkcja cos dla użytkownika [CORDIC] +216c237,239 +< # uruchamianie preprocesingu [cordic] +--- +> # uruchamianie preprocesingu [CORDIC] +> # funkcja wypisuje kod w języku Julia na ekran, który potem po prostu wkleiliśmy do pliku źródłowego +> # oblicza stałe potrzebne do obliczania funkcji trygonometrycznych metodą CORDIC +223c246 +< # sinh bez stosowania wzorów redukcyjnych [taylor] +--- +> # sinh bez stosowania wzorów redukcyjnych [Taylor] +228c251 +< # cosh bez stosowania wzorów redukcyjnych [taylor] +--- +> # cosh bez stosowania wzorów redukcyjnych [Taylor] +233c256 +< # sin bez stosowania wzorów redukcyjnych [taylor] +--- +> # sin bez stosowania wzorów redukcyjnych [Taylor] +234a258,260 +> # sin(a + bi) = sin(a) * cosh(b) + i(cos(a) * sinh(b)) +> # wykonujemy odpowiednio (10a + 10), (10b + 10) iteracji - szereg Tylora +> # powinien dobrze przybliżać funkcje trygonometryczne dla takiej liczby wyrazów +236c262 +< real_cos(x, 10*round(x)+10) * sinh_no_reduction(y, 10*round(x)+10)) +--- +> real_cos(x, 10*round(x)+10) * sinh_no_reduction(y, 10*round(y)+10)) +239c265 +< # zmiana liczby iteracji [taylor] +--- +> # zmiana liczby iteracji [Taylor] +244c270 +< # zmiana liczby iteracji [cordic] +--- +> # zmiana liczby iteracji [CORDIC] -- cgit v1.2.3