Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm). А чтобы статья не была уж скучной, добавим соревновательную составляющую: попробуем не только повторить, но и улучшить код библиотеки, сделав его более быстрым/точным.
В качестве примера я выбрал тригонометрическую функцию синуса. Это широко распространённая функция, математика которой хорошо известна со школы и университета. В тоже время при её имплементации появятся много ярких примеров «правильной» работы с числами. В качестве числа с плавающей точкой я буду использовать double.
В данном цикле статей планируется много всего начиная от математики, заканчивая машинными кодами и опциями компилятора. Язык написания статьи С++, но без «излишеств». В отличии от языка С, работающие примеры будут более удобочитаемыми даже для людей не знакомых с этим языком и занимать меньше строк.
Симон (Франция): я делаю в школе. Но мои учителя и мои родители не довольны мои отметки в школе. Я так злюсь по этому поводу! Почему они не могут понять, что я не могу сделать лучше?Оливер (Великобритания): я не чувствую себя комфортно с моими одноклассниками. Они называют меня и сказать, что ПМ слишком высокий и бледный (бледный). Но я ничего не могу поделать. Я занимаюсь спортом, но не слишком часто. Есть так много домашней работы!Джим (Канада): мне нужно больше карманных денег, чтобы купить некоторые новые компьютерные игры. Многие подростки в моей школе есть бумажный круг* или в субботу работа на пару часов. Они зарабатывают дополнительные деньги. Но я не могу найти работу, которая мне очень нравится.Юлия (Австралия): мои родители не позволит мне получить работу в субботу. Они говорят, что я должен заботиться о моей маленькой брата и делать домашку на понедельник. Это так скучно!Анжела (Италия): я ненавижу науку becausc учитель так скучно. Я хотел бы продолжить французов и взять в этом году немецкий. Но никто не слушает меня, включая моих родителей.Мартин (Новая Зеландия): большинство мальчиков моего возраста имеют подруг. Но я не могу сказать, девушка мне очень нравится. Я думаю, что она лучшая и самая умная в школе "оиир", но очень самостоятельный и симпатичный тоже. Часов так в депрессии.Клава (Германия): мои родители хотят, чтобы я сделал музыку. Это действительно тяжелая работа, вы знаете. Мне надоело играть на фортепиано. Я просто не хочу!
1. We went on a tramp last Sunday. 2. Will your brother goes to the country with us next Sunday? 3. Granny isn`t cooking dinner now. 4. We cooked our meals on a fire last summer. 5. My sister washes the dishes every morning. 6. When will you go to school? 7. What will you prepare for breakfast tomorrow? 8. Will you invite your cousin to stay with you next summer? 9. How did you help your sister last summer? 10. I will send a letter to my friend tomorrow. 11. Every morning on the way to school I meet my friends. 12. My friend goes to the library every Wednesday. 13. He didn`t go to the country yesterday. 14. Why did you go to the shop yesterday? 15. We will grow tomatoes next summer. 16. What are you doing now? 17. He is sleeping now. 18. Where did your father work last year? 20. He didn`t watch TV yesterday. 21. Yesterday we wrote a test-paper. 22. I bought a very good book last Tuesday. 23. My granny didn`t buy bread yesterday. 24. What will you buy at the shop tomorrow? 25. Don't make noise! Father is working.
В качестве примера я выбрал тригонометрическую функцию синуса. Это широко распространённая функция, математика которой хорошо известна со школы и университета. В тоже время при её имплементации появятся много ярких примеров «правильной» работы с числами. В качестве числа с плавающей точкой я буду использовать double.
В данном цикле статей планируется много всего начиная от математики, заканчивая машинными кодами и опциями компилятора. Язык написания статьи С++, но без «излишеств». В отличии от языка С, работающие примеры будут более удобочитаемыми даже для людей не знакомых с этим языком и занимать меньше строк.