Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » кодогенерация для ЦП (CPU) » Вычисление синуса арифметическими операциями


Вычисление синуса арифметическими операциями

Сообщений 1 страница 4 из 4

1

http://qaru.site/questions/8521/how-doe … -functions

Ни один программный алгоритм не является настолько быстрым, насколько это возможно, а также точным во всем диапазоне значений x, поэтому библиотека реализует множество различных алгоритмов, и первая задача - посмотреть на x и решить, какой алгоритм использовать. В некоторых регионах он использует то, что выглядит как знакомая серия Тейлора.

В основном, большинство трансцендентных функций используют Чебышевские многочлены для их вычисления. Что касается того, какие полиномы используются, зависит от обстоятельств.
Библия по этому вопросу - книга под названием "Компьютерные аппроксимации" Харта и Чейни.

Квадратный корень быстрее использует двойную итерацию метода Ньютона raphson

CORDIC - http://en.wikipedia.org/wiki/Cordic

Отредактировано Лис (2018-01-30 09:47:42)

0

2

Да, блин, не интересно. Где лямбдо представление синуса? То что есть императивно и так чудесно гуглится.  Мы же за инструмент лямбда болеем. Даешь исчисление синуса! Цели ведь определены - использовать ядро в лямбда исчислении. Вот практический вопрос - выразить синус не императивно, а в лямбда исчислении.

ЗЫ. И опять у борцуна за чистоту русского ссылка на буржуйский, да что же ты будешь делать-то, а?

Отредактировано utkin (2018-01-30 09:50:49)

0

3

А с чего ты взял, что лямбды неимперативные? Да, там можно изменить порядок подстановок, но результат от этого не меняется. Все подстановки будут выполнены (вполне себе императивно).

Где лямбдо представление синуса?

Надо взять арифметическиие операции на лямбдах и реализовать поверх них вычисление синуса как описано выше. Решаемая задача.

Отредактировано Лис (2018-01-30 09:54:47)

0

4

Я не против. Я за результат. Где он? И как он будет достигаться? Сначала надо материться чтобы все закодировать в лямбда - я правильно понимаю? Потом всех убедить, что это круто. Потом написать инструмент который бы оперировал лямбдами. И? Где профит?
Дайте дорожную карту - посредством чего будет достигнута новая технология. Я вижу это так:
1. Нужно правильно преобразовать имеющееся стандартное, относительно доступное каждому описание процесса с какого-либо языка в лямбда-представление. То есть:
а) нужно уметь это делать (иными словами знать лямбда-исчисление);
б) нужен контроль данных - как узнать, что Вы верно провели преобразование, ведь средств автоматической верификации нет. То есть нужен как минимум еще один человек, согласный на этот эксперимент, гарант того, что рассмотрев Ваше представление он однозначно мог сказать: Ёу, братан, да здесь синус зашифрован!
2. Нужно провести популяризацию лямбда-исчисления:
а) объяснить что это такое
б) объяснить зачем это
в) объяснить зачем это нужно именно при создании языков программирования, почему это эффективно (дать анализ, провести сравнение и т.д.).
3. Разработать инструмент на основании п.1 и п.2
4. Научить пользоваться других данным инструментом, потому что лямбда-символы умеет не каждый компьютер и человек

В результате что мы имеем в сухом остатке - нечто подобное сделано в Хаскелле (ну может не полностью, но лямбды и операции над ними это часть языка, а не просто объявление безымянных функций). В результате число пользователей Хаскела это какой примерно процент от числа программистов? Как широко применяется Хаскел? Ответ как бэ намекает... на эффективность Вашей идеи.

Надо взять арифметическиие операции на лямбдах и реализовать поверх них вычисление синуса как описано выше. Решаемая задача.

без проблем. Описание факториала:
http://sd.uploads.ru/t/hxDMJ.png
Я думаю описание синуса будет в пару страничек подобной билиберды.

Отредактировано utkin (2018-01-30 15:04:41)

0


Вы здесь » Русскоязычное программирование » кодогенерация для ЦП (CPU) » Вычисление синуса арифметическими операциями