44 lines
14 KiB
Text
44 lines
14 KiB
Text
(phixonline)-->
|
|
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
|
|
<span style="color: #008080;">include</span> <span style="color: #004080;">timedate</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
|
|
|
|
<span style="color: #008080;">constant</span> <span style="color: #000000;">cycles</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #008000;">"Physical day "</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Emotional day"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Mental day "</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #000000;">lengths</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">23</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">28</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">33</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #000000;">quadrants</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{{</span><span style="color: #008000;">"up and rising"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"peak"</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"up but falling"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"transition"</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"down and falling"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"valley"</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"down but rising"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"transition"</span><span style="color: #0000FF;">}}</span>
|
|
|
|
<span style="color: #008080;">procedure</span> <span style="color: #000000;">biorhythms</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">birthDate</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">targetDate</span><span style="color: #0000FF;">)</span>
|
|
<span style="color: #004080;">timedate</span> <span style="color: #000000;">bd</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">parse_date_string</span><span style="color: #0000FF;">(</span><span style="color: #000000;">birthDate</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"YYYY-MM-DD"</span><span style="color: #0000FF;">}),</span>
|
|
<span style="color: #000000;">td</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">parse_date_string</span><span style="color: #0000FF;">(</span><span style="color: #000000;">targetDate</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"YYYY-MM-DD"</span><span style="color: #0000FF;">})</span>
|
|
<span style="color: #004080;">integer</span> <span style="color: #000000;">days</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">floor</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">timedate_diff</span><span style="color: #0000FF;">(</span><span style="color: #000000;">bd</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">td</span><span style="color: #0000FF;">,</span> <span style="color: #004600;">DT_DAY</span><span style="color: #0000FF;">)/(</span><span style="color: #000000;">60</span><span style="color: #0000FF;">*</span><span style="color: #000000;">60</span><span style="color: #0000FF;">*</span><span style="color: #000000;">24</span><span style="color: #0000FF;">))</span>
|
|
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Born %s, Target %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">birthDate</span><span style="color: #0000FF;">,</span><span style="color: #000000;">targetDate</span><span style="color: #0000FF;">})</span>
|
|
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Day %d\n"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">days</span><span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">3</span> <span style="color: #008080;">do</span>
|
|
<span style="color: #004080;">integer</span> <span style="color: #000000;">len</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">lengths</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">],</span>
|
|
<span style="color: #000000;">posn</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">remainder</span><span style="color: #0000FF;">(</span><span style="color: #000000;">days</span><span style="color: #0000FF;">,</span><span style="color: #000000;">len</span><span style="color: #0000FF;">),</span>
|
|
<span style="color: #000000;">quadrant</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">floor</span><span style="color: #0000FF;">(</span><span style="color: #000000;">posn</span><span style="color: #0000FF;">/</span><span style="color: #000000;">len</span><span style="color: #0000FF;">*</span><span style="color: #000000;">4</span><span style="color: #0000FF;">)+</span><span style="color: #000000;">1</span>
|
|
<span style="color: #004080;">atom</span> <span style="color: #000000;">percent</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">floor</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">sin</span><span style="color: #0000FF;">(</span><span style="color: #000000;">2</span><span style="color: #0000FF;">*</span><span style="color: #004600;">PI</span><span style="color: #0000FF;">*</span><span style="color: #000000;">posn</span><span style="color: #0000FF;">/</span><span style="color: #000000;">len</span><span style="color: #0000FF;">)*</span><span style="color: #000000;">1000</span><span style="color: #0000FF;">)/</span><span style="color: #000000;">10</span>
|
|
<span style="color: #004080;">string</span> <span style="color: #000000;">cycle</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">cycles</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">],</span>
|
|
<span style="color: #000000;">desc</span> <span style="color: #0000FF;">=</span> <span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #000000;">percent</span><span style="color: #0000FF;">></span><span style="color: #000000;">95</span> <span style="color: #0000FF;">?</span> <span style="color: #008000;">" peak"</span> <span style="color: #0000FF;">:</span>
|
|
<span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #000000;">percent</span><span style="color: #0000FF;"><-</span><span style="color: #000000;">95</span> <span style="color: #0000FF;">?</span> <span style="color: #008000;">" valley"</span> <span style="color: #0000FF;">:</span>
|
|
<span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">abs</span><span style="color: #0000FF;">(</span><span style="color: #000000;">percent</span><span style="color: #0000FF;">)<</span><span style="color: #000000;">5</span> <span style="color: #0000FF;">?</span> <span style="color: #008000;">" critical transition"</span> <span style="color: #0000FF;">:</span> <span style="color: #008000;">"other"</span><span style="color: #0000FF;">)))</span>
|
|
<span style="color: #008080;">if</span> <span style="color: #000000;">desc</span> <span style="color: #0000FF;">==</span> <span style="color: #008000;">"other"</span> <span style="color: #008080;">then</span>
|
|
<span style="color: #004080;">timedate</span> <span style="color: #000000;">t</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">adjust_timedate</span><span style="color: #0000FF;">(</span><span style="color: #000000;">td</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">timedelta</span><span style="color: #0000FF;">(</span><span style="color: #000000;">days</span><span style="color: #0000FF;">:=</span><span style="color: #7060A8;">floor</span><span style="color: #0000FF;">(</span><span style="color: #000000;">quadrant</span><span style="color: #0000FF;">/</span><span style="color: #000000;">4</span><span style="color: #0000FF;">*</span><span style="color: #000000;">len</span><span style="color: #0000FF;">)-</span><span style="color: #000000;">posn</span><span style="color: #0000FF;">))</span>
|
|
<span style="color: #004080;">string</span> <span style="color: #000000;">transition</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">format_timedate</span><span style="color: #0000FF;">(</span><span style="color: #000000;">t</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"YYYY-MM-DD"</span><span style="color: #0000FF;">),</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #000000;">trend</span><span style="color: #0000FF;">,</span><span style="color: #000000;">next</span><span style="color: #0000FF;">}</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">quadrants</span><span style="color: #0000FF;">[</span><span style="color: #000000;">quadrant</span><span style="color: #0000FF;">]</span>
|
|
<span style="color: #000000;">desc</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"%5.1f%% (%s, next %s %s)"</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">percent</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">trend</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">next</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">transition</span><span style="color: #0000FF;">})</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
|
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%s %2d : %s\n"</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">cycle</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">posn</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">desc</span><span style="color: #0000FF;">})</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
|
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
|
|
|
|
<span style="color: #008080;">constant</span> <span style="color: #000000;">datePairs</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"1943-03-09"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"1972-07-11"</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"1809-01-12"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"1863-11-19"</span><span style="color: #0000FF;">},</span>
|
|
<span style="color: #0000FF;">{</span><span style="color: #008000;">"1809-02-12"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"1863-11-19"</span><span style="color: #0000FF;">}</span> <span style="color: #000080;font-style:italic;">// correct DOB for Abraham Lincoln</span>
|
|
<span style="color: #0000FF;">}</span>
|
|
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">datePairs</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span> <span style="color: #000000;">biorhythms</span><span style="color: #0000FF;">(</span><span style="color: #000000;">datePairs</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">][</span><span style="color: #000000;">1</span><span style="color: #0000FF;">],</span> <span style="color: #000000;">datePairs</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">][</span><span style="color: #000000;">2</span><span style="color: #0000FF;">])</span> <span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
|
|
<!--
|