UDK 004.021 Doi: 10.31772/2587-6066-2019-20-2-191-196
LIBRARY OF MATHEMATICAL FUNCTIONS WITH PARALLELISM AT THE OPERATIONAL LEVEL IN THE PYTHAGOR LANGUAGE
Udalova J. V., Kuzmin D. A.
Siberian Federal University, 79, Svobodny Av., Krasnoyarsk, 660041, Russian Federation
At present, developed tools and libraries have been designed for imperative and functional programming languages that provide parallelism through processes or threads. There are other alternative approaches to the organization of parallel computing, one of which is implemented in Pythagor – the language of functional-streaming parallel programming, and involves parallelism at the level of operations. The tools of the Pythagor programming language are actively developing, and the repository of predefined functions is expanding. Many mathematical functions have been designed to provide a developer with no less functionality than the math library math.h of the C programming language. A large part of the mathematical functions have been implemented using the Maclaurin’s series. It is both used as an approach of faster and less accurate calculations, in which a predetermined number of elements of the series is calculated without cycles and recursions with the substitution of pre-calculated coefficients in the function code, and as an approach of less rapid and more accurate calculations, in which the elements of the series are calculated dynamically until the desired accuracy is achieved. The development of a library of mathematical functions of a programming language is an applied algorithmic task already implemented in one way or another for a number of existing programming languages. But in many languages, the implementation of algorithms for mathematical functions is hidden from the user, while modern tools of the Pythagor language support an open repository of functions. Additional interest is the possibility of parallelism at the level of operations in the calculation of mathematical formulas in the Pythagor language.
Keywords: parallelism at the operation levels, functional-stream programming, algorithms of mathematical functions.
References

1. Legalov A. I., Ushakova M. S. [Features of the development and transformation of functional data-flow parallel programs]. Superkomp'yuternye dni v Rossii. Trudy mezhdunarodnoy konferentsii [Supercomputer days in Russia. Proceedings of the international conference]. 2018, P. 999–1000.

2. Legalov A. I. et al. [Change of computing management strategies in architecture-independent parallel programming]. Nauchnyy servis v seti Internet. Trudy XIX Vserossiyskoy nauchnoy konferentsii [Scientific service on the Internet. Proceedings of the XIX all-Russian scientific conference]. 2017. P. 341–350 (In Russ.).

3. Legalov A. I. [Language support for architectureindependent parallel programming]. Yazyki programmirovaniya i kompilyatory. Trudy konferentsii [Programming languages and compilers. Proceedings of the conference]. 2017, P. 169–172 (In Russ.).

4. Legalov A. I. et al. [Technological aspects of creation, transformation and execution of functional-stream parallel programs]. Nauchnyy servis v seti Internet: vse grani parallelizma. Trudy Mezhdunarodnoy superkomp'yuternoy konferentsii [Scientific service on the Internet:
all facets of parallelism. Proceedings of the International supercomputer conference]. 2013, P. 443–447 (In Russ.).

5. Legalov A. I. et al. [Storage of functional data-flow parallel programs]. Vestnik SibGAU. 2013, No. 4 (50), P. 53–57 (In Russ.).

6. Legalov A. I. et al. [Event-driven computing model that supports the execution of functional-stream parallel programs] Sistemy. Metody. Tekhnologii. 2012, No. 1 (13), P. 113–119 (In Russ.).

7. Romanova D.S. [Organization of testing to check the correctness of Pythagor's tools]. Prospekt Svobodnyy – 2018. Materialy Mezhdunarodnoy konferentsii molodykh uchenykh [Prospect Free – 2018. Proceedings of the International conference of young scientists]. Siberian Federal University, 2018, P. 25–28 (In Russ.).

8. Udalova U. V. [Verification of functional-stream parallel programs using interval formulas]. Obra zovatel'nye resursy i tekhnologii. 2016, No. 2 (14), P. 259–262 (In Russ.).

9. Ushakova M. S., Legalov A. I. [Verification of programs with mutual recursion in Pythagor]. Modelirovanie i analiz informatsionnykh sistem. 2018, Vol. 25, No. 4 (76), P. 358–381 (In Russ.).

10. Vasiliev V. S., Legalov A. I. [Optimization of loop invariant in the language of Pythagor]. Modelirovanie i analiz informatsionnykh sistem. 2018, Vol. 25, No. 4 (76), P. 347–357 (In Russ.).

11. Legalov A. I. et al. A toolkit for the development of data-driven functional parallel programmes. Communications in Computer and Information Science. 2018, Vol. 910, P. 16–30.

12. Legalov A. I. et al. [Tool support for the creation and transformation of functional data-flow parallel programs]. Trudy Instituta sistemnogo programmirovaniya RAN [Proceedings of Institute for system programming of the Russian Academy of Sciences]. 2017, Vol. 29, No. 5, P. 165–184 (In Russ.).

13. Ushakova M. S., Legalov A. I. [Instrumental support for formal verification of programs written in the language of functional-streaming parallel programming]. Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya: Vychislitel'naya matematika i informatika. 2015, Vol. 4, No. 2, P. 58–70 (In Russ.).

14. Udalova U. V., Legalov A. I. [Verification of functional-stream parallel programs by inductive assertions]. Doklady Akademii nauk vysshey shkoly Rossiyskoy Federatsii. 2014, No. 2-3 (23-24), P. 125–132 (In Russ.).

15. Lusternik L. A. Matematicheskii analiz. Funkcii, predeli, rydi, chepnie drobi [Mathematical analysis. Functions, limits, series, continued fractions]. Moscow, IL Publ., 2012, 442 p.


Udalova Julia Vasilyevna – Ph. D., associate professor, Siberian Federal University. E-mail: judalova@sfu-kras.ru.

Kuzmin Dmitry Alexandrovich – Ph. D., associate professor, Siberian Federal University. E-mail: dkuzmin@sfukras.ru.


  LIBRARY OF MATHEMATICAL FUNCTIONS WITH PARALLELISM AT THE OPERATIONAL LEVEL IN THE PYTHAGOR LANGUAGE