<br><br><div class="gmail_quote">Dne 26. listopad 2008 14:25 Lukáš Grepl <span dir="ltr">&lt;<a href="mailto:L.Grepl@sh.cvut.cz">L.Grepl@sh.cvut.cz</a>&gt;</span> napsal(a):<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">&gt; Toto nefunguje:<br>
&gt;<br>
&gt; for(uint8_t i=0; i&lt;((*m).e_arr_len-1);i++)<br>
&gt; &nbsp; (*m).e[i] = (*m).e[i+1];<br>
<br>
</div>Na první pohled to vypadá, že by to principiálně fungovat mohlo. Určitě<br>
máte v tom m a m-&gt;e_arr_len to, co předpokládáte?</blockquote><div><br>Myslím, že už jsem tu chybu odhalil - holt občas se člověk musí trochu znemožnit...<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<div class="Ih2E3d"><br>
&gt; A toto ano:<br>
&gt;<br>
&gt; (*m).e[0] = (*m).e[1];<br>
&gt; (*m).e[1] = (*m).e[2];<br>
&gt; (*m).e[2] = (*m).e[3];<br>
&gt; (*m).e[4] = ((*m).req_speed - (*m).act_speed);<br>
&gt;<br>
&gt; Samozřejmě bych radši používal for, protože je to čistší a navíc chci to<br>
&gt; pole alokovat dynamicky. Ale ať na to koukám, jak na to koukám, chybu<br>
&gt; nevidím. Kompilátorem to projde, ale bohužel to nefunguje.<br>
<br>
</div>Pro čtyři položky je to asi skoro jedno, ale obvykle bývá efektivnější<br>
místo přerovnávání a sčítání celého pole napsat klouzavý průměr<br>
přibližně takto:<br>
<br>
int update_moving_average(int value)<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;static int acc, buffer[N], i;<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;acc = acc - buffer[i] + value;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;buffer[i] = value;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (++i &gt;= N)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = 0;<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;return acc; &nbsp; &nbsp; // nebo acc/N podle potřeby<br>
}</blockquote><div><br>Díky za inspiraci, vyzkouším.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<font color="#888888"><br>
Lukáš Grepl<br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
HW-list mailing list &nbsp;- &nbsp;sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</div></div></blockquote></div><br>