Page 1 of 1

perl to php formula bug, assistance please

Posted: Sun Nov 02, 2003 10:26 am
by deras
i am moving some of my perl scripts to php and the following formula is yielding incorrect results in php. any ideas on why?

$p1 =(atan2(($v_mean-3.0)*2,($mean-5.0)))*180*7/22;
if($p1 < 0 ){$p1=360+$p1;}
if(($p1 >= 0 )&&($p1 <= 10 )){$m_type="7w8";$m=7;}
elseif(($p1 > 10 )&&($p1 <= 30 )){$m_type="7w6";$m=7;}
elseif(($p1 > 30 )&&($p1 <= 50 )){$m_type="6w7";$m=6;}
elseif(($p1 > 50 )&&($p1 <= 70 )){$m_type="6w5";$m=6;}
elseif(($p1 > 70 )&&($p1 <= 90 )){$m_type="5w6";$m=5;}
elseif(($p1 > 90 )&&($p1 <= 110 )){$m_type="5w4";$m=5;}
elseif(($p1 > 110 )&&($p1 <= 130 )){$m_type="4w5";$m=4;}
elseif(($p1 > 130 )&&($p1 <= 150 )){$m_type="4w3";$m=4;}
elseif(($p1 > 150 )&&($p1 <= 170 )){$m_type="3w4";$m=3;}
elseif(($p1 > 170 )&&($p1 <= 190 )){$m_type="3w2";$m=3;}
elseif(($p1 > 190 )&&($p1 <= 210 )){$m_type="2w3";$m=2;}
elseif(($p1 > 210 )&&($p1 <= 230 )){$m_type="2w1";$m=2;}
elseif(($p1 > 230 )&&($p1 <= 250 )){$m_type="1w2";$m=1;}
elseif(($p1 > 250 )&&($p1 <= 270 )){$m_type="1w9";$m=1;}
elseif(($p1 > 270 )&&($p1 <= 290 )){$m_type="9w1";$m=9;}
elseif(($p1 > 290 )&&($p1 <= 310 )){$m_type="9w8";$m=9;}
elseif(($p1 > 310 )&&($p1 <= 330 )){$m_type="8w9";$m=8;}
elseif(($p1 > 330 )&&($p1 <= 350 )){$m_type="8w7";$m=8;}
elseif(($p1 > 350 )&&($p1 <= 360 )){$m_type="7w8";$m=7;}

Posted: Sun Nov 02, 2003 1:35 pm
by Gen-ik
Personally I would change this.....

Code: Select all

$p1 = (atan2(($v_mean-3.0)*2,($mean-5.0)))*180*7/22;
...to...

Code: Select all

$p1 = (((atan2(($v_mean-3.0)*2,($mean-5.0))) * 180) * 7) / 22;