<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>8187</bug_id>
          
          <creation_ts>2005-10-11 10:08:34 +0400</creation_ts>
          <short_desc>Скачет возраст луны.</short_desc>
          <delta_ts>2008-02-16 12:43:22 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>wmMoonClock</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="stalker">stalker</reporter>
          <assigned_to name="pav@altlinux.org">pav</assigned_to>
          <cc>damir</cc>
    
    <cc>pav</cc>
    
    <cc>php-coder</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31666</commentid>
    <comment_count>0</comment_count>
    <who name="stalker">stalker</who>
    <bug_when>2005-10-11 10:08:34 +0400</bug_when>
    <thetext>почему-то скачет возраст луны. То показывает возраст 7.35 дней...а через минуту 
уже 7.79.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31667</commentid>
    <comment_count>1</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-10-11 10:25:32 +0400</bug_when>
    <thetext>Предлагаю разобраться в коде Src/CalcEphem.c:CalcEphem()...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31671</commentid>
    <comment_count>2</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-10-11 10:57:55 +0400</bug_when>
    <thetext>Забавные такие глюки...  Отключил всё, рисует только локальное время и Age
(примерно два раза в секунду):

$ ./wmMoonClock -lat 55 -lon -37
2005.10.11 10:55:54 --  7.85
2005.10.11 10:55:55 --  7.85
2005.10.11 10:55:55 --  7.85
2005.10.11 10:55:56 --  7.85
2005.10.11 10:55:56 --  7.85
2005.10.11 10:55:57 --  8.32
2005.10.11 10:55:58 --  8.32
2005.10.11 10:55:58 --  8.32
2005.10.11 10:55:59 --  8.32
2005.10.11 10:56:00 --  7.85
2005.10.11 10:56:00 --  7.85
2005.10.11 10:56:01 --  7.85
2005.10.11 10:56:01 --  7.85
2005.10.11 10:56:02 --  8.32
2005.10.11 10:56:03 --  7.85
2005.10.11 10:56:03 --  7.85
2005.10.11 10:56:04 --  8.32
2005.10.11 10:56:05 --  7.85
2005.10.11 10:56:05 --  7.85
2005.10.11 10:56:06 --  8.32
2005.10.11 10:56:06 --  8.32
2005.10.11 10:56:07 --  8.32
2005.10.11 10:56:08 --  8.32
2005.10.11 10:56:08 --  8.32
2005.10.11 10:56:09 --  8.32
2005.10.11 10:56:10 --  8.32
2005.10.11 10:56:10 --  8.32
2005.10.11 10:56:11 --  8.32
2005.10.11 10:56:11 --  8.32
2005.10.11 10:56:12 --  8.32
2005.10.11 10:56:13 --  8.32
2005.10.11 10:56:13 --  8.32
2005.10.11 10:56:14 --  8.32
2005.10.11 10:56:15 --  8.32
2005.10.11 10:56:15 --  8.32
2005.10.11 10:56:16 --  8.32
2005.10.11 10:56:16 --  8.32
2005.10.11 10:56:17 --  8.32
2005.10.11 10:56:18 --  8.32
2005.10.11 10:56:18 --  8.32
2005.10.11 10:56:19 --  8.32
2005.10.11 10:56:20 --  7.85
2005.10.11 10:56:20 --  7.85
2005.10.11 10:56:21 --  7.85
2005.10.11 10:56:21 --  7.85
2005.10.11 10:56:22 --  8.32
2005.10.11 10:56:23 --  7.85
2005.10.11 10:56:23 --  7.85
2005.10.11 10:56:24 --  7.85
2005.10.11 10:56:25 --  7.85
2005.10.11 10:56:25 --  7.85
2005.10.11 10:56:26 --  8.32
2005.10.11 10:56:27 --  8.32
2005.10.11 10:56:27 --  8.32</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31698</commentid>
    <comment_count>3</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-10-11 17:37:15 +0400</bug_when>
    <thetext>&lt;Lost_work&gt; raorn: я кажись нашел в чем может быть дело
&lt;raorn&gt; Lost_work: да?
&lt;Lost_work&gt; raorn: if (fabs(cx-bx) &gt; fabs(bx-ax)){
&lt;Lost_work&gt; raorn: сравнение двух флоатов
&lt;Lost_work&gt; raorn: оно должно с дельтой идти
&lt;Lost_work&gt; raorn: вызов такой: NewMoon(Ta, Tb, Tc) где Tb вычислается, а Ta,Tc
= Tb +/- const
&lt;Lost_work&gt; raorn: поэтому cx-bx = bx-ax
&lt;raorn&gt; Lost_work: там любое &gt; 0 должно быть
&lt;Lost_work&gt; raorn: поэтому дельту надо вводить.
&lt;Lost_work&gt; raorn: ща введу и посмотрю
&lt;Lost_work&gt; raorn: скакать перестало
&lt;Lost_work&gt; raorn: зато возраст показывает 8.6
&lt;Lost_work&gt; а реально 8.1
&lt;Lost_work&gt; raorn:  если сделать так:  if (fabs(cx-bx) - fabs(bx-ax) &gt; -1E-10){
то вроде совпадает с тем, что сталкер приводил
&lt;Lost_work&gt; raorn: но это соответствует &gt;=, а не &gt;
&lt;Lost_work&gt; raorn: а иначе получается на полдня больше</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31708</commentid>
    <comment_count>4</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-10-11 18:27:15 +0400</bug_when>
    <thetext>&lt;raorn&gt; Lost_work: в общем я перебираю время посекундно и ищу скачки...
&lt;Lost_work&gt; raorn: да не будет их :)
&lt;raorn&gt; Lost_work: будут
&lt;raorn&gt; Lost_work: один уже нашёл
&lt;raorn&gt;         if (fabs(val - last_val) &gt; .0001) {
&lt;raorn&gt; Lost_work: я уже на MoonAge смотрю
&lt;raorn&gt; Lost_work: смотри:
&lt;raorn&gt; ,--8&lt;-
&lt;raorn&gt; |2005.10.11 18:39:16 --  8.174033 -- 8.173933
&lt;raorn&gt; |2005.10.11 18:41:09 --  8.175341 -- 8.175284
&lt;raorn&gt; |2005.10.11 18:42:18 --  8.176139 -- 8.176040
&lt;raorn&gt; |2005.10.11 18:44:10 --  8.177435 -- 8.177336
&lt;raorn&gt; `--&gt;8-
&lt;raorn&gt; Lost_work: как разница возраста между текущей и предыдущей секундой
может быть отрицательная?
&lt;Lost_work&gt; raorn: а что за цифры то?
&lt;raorn&gt; Lost_work: age в днях
&lt;Lost_work&gt; raorn: я понял, почему их две?
&lt;raorn&gt; Lost_work: слева - предыдущая секунда, справа соотвеццтвует дате
&lt;Lost_work&gt; raorn: хз :(( опять шутки округления где-то
&lt;raorn&gt; ,--8&lt;-
&lt;raorn&gt; |2005.10.11 18:01:57 --  0.000000 -- 8.148097
&lt;raorn&gt; |2005.10.12 10:46:40 --  8.845838 -- 9.398525
&lt;raorn&gt; |2005.10.28 18:24:26 --  25.716407 -- 25.163743
&lt;raorn&gt; |2005.10.28 18:27:08 --  25.165496 -- 25.165619
&lt;raorn&gt; |2005.10.28 18:28:49 --  25.166665 -- 25.166787
&lt;raorn&gt; |2005.10.28 18:31:31 --  25.168540 -- 25.168663
&lt;raorn&gt; |2005.10.28 18:33:12 --  25.169709 -- 25.169831
&lt;raorn&gt; `--&gt;8-
&lt;raorn&gt; Lost_work: и так далее
&lt;raorn&gt; ,--8&lt;-
&lt;raorn&gt; |25.163743-25.716407
&lt;raorn&gt; |-.552664
&lt;raorn&gt; `--&gt;8-
&lt;raorn&gt; ,--8&lt;-
&lt;raorn&gt; |25.169831-25.169709
&lt;raorn&gt; |.000122
&lt;raorn&gt; `--&gt;8-
&lt;Lost_work&gt; raorn: диагноз - на переписывание :) Код неподдерживаемый в принципе
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31725</commentid>
    <comment_count>5</comment_count>
    <who name="Valery Pipin">pip</who>
    <bug_when>2005-10-12 08:12:38 +0400</bug_when>
    <thetext>Как уже отмечено здесь fabs(cx-bx)==fabs(bx-ax) 
но численно это не так. Т.е. если оставить 
      x2 = bx; 
      x1 = bx - C*(bx-ax); 
скачки прекратятся.  
В целом же эту программу нужно проверять на соответсвие агоритма  
и точности вычислений. Расчет различных характеристик Луны, 
эфемерид и пр. обычно производится по приближенным формулам. 
Иногда там излишняя точность может оказаться даже вредной. 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31732</commentid>
    <comment_count>6</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-10-12 10:27:31 +0400</bug_when>
    <thetext>Фтопку.  Я уже качаю &quot;Astronomical Algorythms&quot;, плюс нашёл
http://www.fourmilab.ch/moontoolw/ с сорцами и лицензией &quot;You&apos;re welcome to use
this source code in any way you like&quot;.  Код на пару порядков понятнее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31774</commentid>
    <comment_count>7</comment_count>
    <who name="Damir Shayhutdinov">damir</who>
    <bug_when>2005-10-12 19:56:37 +0400</bug_when>
    <thetext>Программа moontoolw выдает возраст луны, не соответствующий другим источникам в 
интернете. Данные примерно соответствуют параметру AGE в CalcEphem.c:CalcEphem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35187</commentid>
    <comment_count>8</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2006-01-28 13:18:03 +0300</bug_when>
    <thetext>raorn: Segmentation fault (core dumped)

Как нибудь потом...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44456</commentid>
    <comment_count>9</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2007-01-12 16:05:00 +0300</bug_when>
    <thetext>В Net/OpenBSD есть такая программка pom (Phase Of Moon). Там код должен быть
более понятный и комментарии есть:

http://cvsweb.netbsd.org/bsdweb.cgi/src/games/pom/
http://www.openbsd.org/cgi-bin/cvsweb/src/games/pom/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44457</commentid>
    <comment_count>10</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2007-01-12 16:19:36 +0300</bug_when>
    <thetext>(In reply to comment #9)
&gt; В Net/OpenBSD есть такая программка pom (Phase Of Moon).

Только возраст она не считает...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44458</commentid>
    <comment_count>11</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2007-01-12 16:23:49 +0300</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; В Net/OpenBSD есть такая программка pom (Phase Of Moon).
&gt; Только возраст она не считает...

/me hides
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63809</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Gusarov">dottedmag</who>
    <bug_when>2008-02-16 00:44:05 +0300</bug_when>
    <thetext>Наступило ли &quot;потом&quot;? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63852</commentid>
    <comment_count>13</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2008-02-16 12:43:22 +0300</bug_when>
    <thetext>Не наступило.  У меня мозг взрывается от этой математики.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>