#ifndef BIBLIOTEKA_H
#define BIBLIOTEKA_H

#include "mavka/tsil.h"

р64 бібліотека_мавки_синус_р64(р64 значення);

р64 бібліотека_мавки_косинус_р64(р64 значення);

р64 бібліотека_мавки_тангенс_р64(р64 значення);

р64 бібліотека_мавки_арксинус_р64(р64 значення);

р64 бібліотека_мавки_арккосинус_р64(р64 значення);

р64 бібліотека_мавки_арктангенс_р64(р64 значення);

р64 бібліотека_мавки_арктангенс2_р64(р64 а, р64 б);

р64 бібліотека_мавки_абсолютне_р64(р64 значення);

р64 бібліотека_мавки_експонента_р64(р64 значення);

р64 бібліотека_мавки_корінь_р64(р64 значення);

р64 бібліотека_мавки_стеля_р64(р64 значення);

р64 бібліотека_мавки_підлога_р64(р64 значення);

р64 бібліотека_мавки_округлити_р64(р64 значення);

р64 бібліотека_мавки_остача_від_ділення_р64(р64 а, р64 б);

логічне бібліотека_мавки_видалити(природне розмір_шляху, п8* дані_шляху);

логічне бібліотека_мавки_дописати_файл(природне розмір_шляху,
                                       п8* дані_шляху,
                                       природне розмір_даних,
                                       п8* дані_даних);

логічне бібліотека_мавки_записати_файл(природне розмір_шляху,
                                       п8* дані_шляху,
                                       природне розмір_даних,
                                       п8* дані_даних);

логічне бібліотека_мавки_прочитати_файл(природне розмір_шляху,
                                        п8* дані_шляху,
                                        Дані* вихід);

логічне бібліотека_мавки_створити_папку(природне розмір_шляху, п8* дані_шляху);

typedef struct РезультатВиконання РезультатВиконання;

struct РезультатВиконання {
  Дані стдвив;
  Дані стдпом;
  ц32 код;
};

void бібліотека_мавки_виконати(природне розмір,
                               п8* дані,
                               РезультатВиконання* результат_виконання);

void бібліотека_мавки_виконати_аргументи(
    природне кількість_аргументів,
    ю8* аргументи,
    РезультатВиконання* результат_виконання);

#endif // BIBLIOTEKA_H