Jump to content

Averages/Mean time of day: Difference between revisions

m
→‎{{header|Phix}}: minor tidy, use builtin atan2, name h/m/s
m (→‎{{header|Phix}}: minor tidy, use builtin atan2, name h/m/s)
Line 1,539:
 
=={{header|Phix}}==
<lang Phix>function atan2MeanAngle(atomsequence y, atom xangles)
atom x = 0, y =0, ai_rad0
return 2*arctan((sqrt(power(x,2)+power(y,2))-x)/y)
for i=1 to llength(angles) do
end function
atom ai_rad = angles[i]*PI/180
function MeanAngle(sequence angles)
atom x=0, y=0, ai_rad
integer l=length(angles)
for i=1 to l do
ai_rad = angles[i]*PI/180
x += cos(ai_rad)
y += sin(ai_rad)
Line 1,569 ⟶ 1,563:
if s<0 then s+=360 end if
s = 24*60*60*s/360
satom hours = sprintf("%02d:%02d:%02d",{floor(s/3600),floor(remainder(s,3600)/60),remainder(s,60)})
mins = floor(remainder(s,3600)/60),
secs = remainder(s,60)
s = sprintf("%02d:%02d:%02d",{hours,mins,secs})
end if
return s
end function
 
printf(1,"Mean Time is %s\n",{toHMS(MeanAngle(Times))})</lang>
{} = wait_key()</lang>
{{out}}
<pre>
7,820

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.