Важная информация

User Tag List

Страница 4 из 32 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 312

Тема: Вычисление числа Пи на ассемблере

  1. #31
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Red face

    Программа для z80 http://www.z88dk.org/wiki/doku.php?id=libnew:examplesi 800 знаков считает за несколько минут и написана на си.
    Интересно, пригодятся ли при таком расчете команды z80, отсутствующие у 8080?
    Пользователи БК жалко отсутствуют. Радио-РК БК определенно должна обогнать, а вот Спектрум скорее всего нет.
    В связи с таким расчетом запустил на стандартном консольном калькуляторе на Raspberry Pi c 900 МГц
    time echo 'scale=1000;16*a(1/5)-4*a(1/239)'|bc -l
    т.е. 1000 знаков - отсчитано с 1.5 сек.
    Обратите внимание на ПРАВИЛЬНУЮ ФОРМУЛУ - в материалах выше плюс перепутан с минусом.
    Рожица после ссылки вставилась сама - движок не должен делать подстановки в ссылках!

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Рожица после ссылки вставилась сама - движок не должен делать подстановки в ссылках!
    Об этом надо написать в тему о переезде форума, тут это могут не заметить.

  4. #33
    Veteran Аватар для perestoronin
    Регистрация
    25.11.2011
    Адрес
    г. Красногорск
    Сообщений
    1,389
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Благодарю за найденную ошибку, за ссылку на готовую библиотеку и за результаты для ARM, ARM конечно же бесспорный лидер

    Опробуйте пожалуйста на z80 при 100 знаках точных цифр. Сколько секунд получилось и при какой частоте ?
    Про БК, если программу переписать на ассемблере macro11 и использовать команду целочисленного умножения (есть такая у процессора КР1801ВМ1Г и его можно впаять вместо штатного КР1801ВМ1А), то еще вопрос кто вырвется в лидеры. Также интересен результат и для процессоров ВМ2, у которых более богатые команды целочисленного умножения и деления.
    Может кто на эмуляторах БК попробует ?

    https://en.wikipedia.org/wiki/Machin-like_formula
    Согласно вики, в файле действительно ошибка в комментариях:
    Сопоставлять результаты будем когда накопится с 10 различных платформ, но уже видно, то ARM у нас 32 разрядный, а не 8 разрядный и частота в 250 раз выше чем у zx. Т.е. в 1000 раз производительнее, и результ полученный на ARM при сравнении с zx нужно делить примерно на 1000.
    Последний раз редактировалось perestoronin; 08.11.2015 в 13:26.

    Ретрокладовая продажи

    продажи
    [свернуть]

  5. #34
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    движок не должен делать подстановки в ссылках!

    offtop


    Просто при расширенном режиме окна редактирования в низу поставьте галочку
    в пункте

    Отключить смайлы в тексте
    При включении, :) НЕ будет заменён на :)
    [свернуть]
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  6. #35
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Почитал, насколько быстро считает сишная прога на z80 и оптимизировал умножение в pirk14. Теперь 535 знаков считает на полминуты быстрее (6 мин 33 сек), кроме того прога стала короче.

    - - - Добавлено - - -

    Переделал умножение на сложение двух произведений по таблице 5*8 (16 Кб). В итоге 535 знаков стал считать еще на 45 секунд быстрее - 5 мин 47 сек. Из них примерно 1 сек - расчет таблицы. Для 535 знаков это не критично, а для 100 знаков таблицу можно и заранее отдельно посчитать.

  7. #36
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Этого Мачина на асме 8080 я бы тоже с интересом посмотрел.
    Насчет сравнения скорости spigot для разного числа знаков: 535 в 28.6 раз медленнее 100 (b2m приводил подобную оценку), 800 в 2.2 раза медленнее 535 (если не учитывать необходимости увеличения разрядности части операций). Небольшие отличия вносит вывод на экран. Возможно стоит разделить расчет и вывод на экран.

  8. #37
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Метод цифра за цифрой хорош когда есть жесткие требования к размеру доступной памяти
    Что-то мне кажется, что метод:
    /* A spigot algorithm for the Digits of \pi, Stanley Rabinowitz
    and Stan Wagon, Amer.Math.Monthly, March 1995, 195-203 */
    На базе которого в этой ветке пишут тесты, не является методом "цифра за цифрой". Там именно идет добавление очередного члена ряда к длинному числу, которое находится в массиве, при этом еще идет одновременное умножение всего числа на 10, чтобы выцепить очередную цифру мантиссы в десятичном виде.

  9. #38
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прочитал, что принятая в русской литературе транскрипция фамилии автора - Мэчин. И что это не самый быстрый способ. Но, имхо, он вполне заслуживает реализации, повторюсь, я бы с интересом посмотрел. Только не надо никого заставлять

  10. #39
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сишная программа для вычисления с использованием арктангенсов, в т.ч. Мэчина.

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    примерно 1 сек - расчет таблицы
    Это было просто неприлично. Ускорил расчет таблицы в четыре с половиной раза, теперь рк сосчитает её примерно за четверть секунды. И сократил на 28 байт. Т.е. даже для расчета 100 знаков не обязательно заранее отдельно генерировать таблицу.

  11. #40
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Что-то мне кажется, что метод:
    На базе которого в этой ветке пишут тесты, не является методом "цифра за цифрой". Там именно идет добавление очередного члена ряда к длинному числу, которое находится в массиве, при этом еще идет одновременное умножение всего числа на 10, чтобы выцепить очередную цифру мантиссы в десятичном виде.
    Нету там никакого добавления очередного члена ряда. Там просто преобразование числа Pi из одной системы счисления в другую (в данном случае десятичную), по одной цифре (умножая на 10 и выделяя цифру). Просто не все знают, что есть система счисления в которой число Pi равно 2.222222222222...

Страница 4 из 32 ПерваяПервая 12345678 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Мнемокоманды и числа.
    от ALKO в разделе Программирование
    Ответов: 0
    Последнее: 15.02.2014, 03:49
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Определение числа сторон
    от mungo в разделе Внешние накопители
    Ответов: 1
    Последнее: 16.03.2012, 18:06

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •