Вычислить на ОМК

Доброго времени суток тебе Kirill!

08 Авг 06 13:09, Kirill Frolov -> Wladimir Tchernov:

KF> Как это работает объясняется на первом курсе института подходящей KF> направленности. Впрочем, понимать не обязательно. Достаточно взять и KF> использовать.

Так не интересно.

KF> Размеры таблиц должны быть внушительные...

Hу мен тут уже подсказали методы их заметного уменьшения используя свойство что

Будь счастлив(а) Kirill... С уважением Wladimir.

Reply to
Wladimir Tchernov
Loading thread data ...

Пpивет, Wladimir!

*** 08 Aug 06 11:41, Wladimir Tchernov wrote to Vladislav Baliasov:

VB>> портированная библиотека плавучки из микрочиповской аппликухи). VB>> Принцип вычисления логарифма и значения коэффициентов взяты из VB>> библиотеки HI-Tech C для PIC.

WT> Hо она без исходников - тоесть дизассемблировал ?

Она - с исходниками. По крайней мере интересующих меня функций.

с уважением Владислав

Reply to
Vladislav Baliasov

KF>

KF> Большая и сложная. Это примерно как пытаться понять принцип работы KF> двигателя внутреннего сгорания на примере современного автомобиля -- KF> бесполезно. библиотека-то большая, но внутренних взаимосвязей в ней не так уж и много. если тебя интересует конкретно логарифм то и смотри только в его реализацию

KF>

KF> А оно, случайно, log.c не называется? Впрочем, для этого есть такие KF> средства как sourcenavigator, cscope, ctags наконец. я дальше grep не ходил никогда, мне его за глаза хватало, но можно и попробовать другие тулзовины :)

Reply to
Dmitry E. Oboukhov

Hello Andrey!

08 Aug 06 05:51, you wrote to me:

AM>> if((x&0xfff0) == 0) return(t1[x]); AM>> if((x&0xffe0) == 0){ AM>> Итого получается 12 сегментов по 17 слов, что меньше, чем 512 AM>> байт. AA> Сколько тут массивов и каких они размеров?

12 массивов по 16 слов. Это в предположении о том, что функция изменяется быстро при малом аргументе и медленно при большом. Я _HЕ_ знаю точного вида функции. Итого: меньше 512 байт. AA> Зачем нужны эти бесконечные сравнения в старшОй части адреса? Затем, что от 0 до 15 результат просто берется из таблицы, а дальше делается линейная экстраполяция. AA> Какая получается в итоге в данном случае точность? Равная полученному из таблицы значению минус расчетное значение, вычисленное аналитически. Поскольку функцию я не знаю, то и про точность говорить не могу. AA> А в "и так далее" у тебя в младшОм адресе будет до 16 сравнений? Двенадцать. Хотя, при желании, на сравнениях можно и поэкономить. AM>> то вполне достаточно искать значение аргумента t[i] <= arg && arg AM>> < t[i+1]. Два байта на результат. AA> Так сколько у тебя превычесленных точек всё же? Вот в ЭТОМ случае придется иметь 4096 (или сколько там возможных значений функции) предвычисленных точек и делать до 16 сравнений двоичным поиском.

Anatoly

Reply to
Anatoly Mashanov

А тот факт использовать, что тебя к полу притягивает, а не к потолку, тебе интересно?

Что?

Reply to
Kirill Frolov

Hi Wladimir !

Совсем недавно 08 Aug 06 11:34, Wladimir Tchernov писал к Kirill Frolov:

KF>> Стандартная библиотека языка C.

WT> Уже посмотрел - нее я не настолько умный, что-бы понять КАК ЭТО WT> РАБОТАЕТ :) А тебе это нужно? Просто пользуйся и двигайся к решению своей задачи. А если так вглубь заглядывать, то далеко можно закопаться, забудешь, зачем копать начинал. Для меня аргументом в пользу разумной самоограниченности всегда являются воспоминания о таком институтском предмете, как физико-химические основы микроэлектроники.... И как-то хорошо на душе, что мало что кроме названия предмета в голове осталось... :)

WBRgrds Ruslan

Reply to
Ruslan Mohniuc

Доброго времени суток тебе Kirill!

09 Авг 06 14:52, Kirill Frolov -> Wladimir Tchernov:

KF> А тот факт использовать, что тебя к полу притягивает, а не к KF> потолку, тебе интересно?

Мне все интересно, чего я не понимаю, но это уже оффтопик.

Будь счастлив(а) Kirill... С уважением Wladimir.

Reply to
Wladimir Tchernov

Hello Wladimir!

08 Aug 06 11:33, Wladimir Tchernov wrote to Dmitry E. Oboukhov:

WT>>> В общем это ВАХ прямосмещенного германивого дида - какой она WT>>> интересно функции подчиняется ? DO>> насколько я помню там чистая экспонента, а не логарифм. (U(I))

WT> Да - меня в схемсах просветили - а у меня на выходе именно логарифм. WT> Буду разбираться.

Стоп-стоп! iд = f(uд) - экспонента, соответственно, uд = f(iд) - логарифм.

Всего доброго!

А. Забайрацкий.

Reply to
Alexander Zabairatsky

Hello Wladimir!

08 Aug 06 11:34, Wladimir Tchernov wrote to Kirill Frolov:

WT> Попробую все-же по таблицам.

Вот-вот. Двоичное число легко нормализуется сдвигами, допустим, до диапазона (1...2). А для этого нормализованного берем достаточно редкую таблицу - допустим, из 16 точек, по ней интерполируем. Почитай главу "Интерполяция" в любом учебнике по численным методам. Тем более, таблица константная, можно вообще заранее построить любой интерполяционный многочлен, подставляешь в него нормализованное число и, путем N сложений и N умножений, получаешь дробную часть искомого логарифма. Прибавляешь (вернее, приписываешь слева, в качестве целой части) к нему насчитанное количество сдвигов, логарифм готов.

Всего доброго!

А. Забайрацкий.

Reply to
Alexander Zabairatsky

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.