1 /**************************************************************************** *
2 * nazev projektu: BETON *
4 * autor: Vojtìch ©im¹a xsimsa01 *
6 * popis: knihovna funkcí *
8 ******************************************************************************/
12 * @brief knihovna funkcí
13 * @author Vojtìch ©im¹a (xsimsa01)
19 * Struktura obsahující hodnoty parametrù pøíkazové øádky.
21 typedef struct vysledek
28 * provede operaci scitani a vysledek vrati ve strukture Tvysledek.
29 * @param a prvni scitanec.
30 * @param b druhy scitanec.
31 * @return Vrací strukturu obsahujici soucet a+b.
33 Tvysledek
scitani(double a
, double b
){
42 * provede operaci odcitani a vysledek vrati ve strukture Tvysledek.
45 * @return Vrací strukturu obsahujici rozdil a-b.
47 Tvysledek
odcitani(double a
, double b
) {
56 * provede operaci nasobeni a vysledek vrati ve strukture Tvysledek.
57 * @param a prvni cinitel.
58 * @param b druhy cinitel.
59 * @return Vrací strukturu obsahujici soucin a*b.
61 Tvysledek
nasobeni(double a
, double b
) {
70 * provede operaci deleni a vysledek vrati ve strukture Tvysledek.
73 * @return Vrací strukturu obsahujici podil a/b.
75 Tvysledek
deleni(double a
, double b
) {
89 * provede operaci scitani a vysledek vrati ve strukture Tvysledek.
90 * pokud vysledek neni zobrazitelny v ciselnem rozsahu double je vysledna hodnota .error nastavena na 1.
91 * pokud exponent neni prirozene cislo je vysledna hodnota .error nastavena na 1.
92 * @param a zaklad mocniny.
93 * @param exponent exponent umocneni.
94 * @return Vrací strukturu obsahujici hodnotu a^exponent a pripadnou indikaci chyby.
96 Tvysledek
umocneni(double a
, double exponent
) {
101 if (ceil(exponent
)!=exponent
|| exponent
<0 || exponent
>DBL_MAX_EXP
){
105 result
.result
=pow(a
,exponent
);
110 * vypocita faktorial a vysledek vrati ve strukture Tvysledek.
111 * pokud vysledek neni zobrazitelny v ciselnem rozsahu double je vysledna hodnota .error nastavena na 1.
112 * pokud zaklad faktorialu neni prirozene cislo je vysledna hodnota .error nastavena na 1.
113 * @param a zaklad faktorialu.
114 * @return Vrací strukturu obsahujici hodnotu a! a pripadnou indikaci chyby.
116 Tvysledek
faktorial(double a
){
122 if (ceil(a
)!=a
|| a
<0){
127 if (result
.result
>(DBL_MAX
/x
)) {
131 result
.result
=result
.result
*x
;
138 * vypocita prirozeny logaritmus a vysledek vrati ve strukture Tvysledek.
139 * pokud je numerus logaritmu zaporny je vysledna hodnota .error nastavena na 1.
140 * @param a numerus logaritmu.
141 * @return Vrací strukturu obsahujici hodnotu ln(a) a pripadnou indikaci chyby.
143 Tvysledek
logaritmus(double a
) {
152 result
.result
=log(a
);
155 /*** konec souboru knihovna.c ***/