ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
168050 Топик полностью
Ксения (02.10.2009 16:17 - 16:21, просмотров: 120) ответил fk0 на иксу -- не мешает. а 255 -- очень даже мешает плавающему делению.
Ну так если x целый на интервале 0-256, то и функций от него тоже 256 штук флоатов. Ничего делить, множить, вычитать и возводить в степень не нужно. Нужно лишь посчитать значение ВСЕЙ функции от x на саентифик-калькуляторе в этих 256 точках и ввести в программу уже готовые значения. Т.е. вместо того, чтобы определять препроцессором #define func(x) (255*(powf(x/255, 1-x/255)) лучше и проще определить массив __flash float func[256] = { 0, 1.0220, 2.0775, 3.1610, 4.2694, ... }; и вызывать не func(x), а func[x]. Массив во флеше не займет больше места, чем от подгрузки функции powf() и тех функций, которые она сама вызовет (а там, скорее всего экспоненты и логарифмы). А уж про скорость и говорить не приходится.