parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

арктангенс частного, аналог atan2() из php

StopDesign 29.01.2007 14:13 / 29.01.2007 14:14

###########################################################################
# арктангенс частного, аналог atan2() из php
@atan2[y;x][atan;sign;res]

$sign[^if($y==0){1}{^math:sign($y)}]

^if($x > 0){
  $atan[^math:atan(^math:abs($y/$x))]
  $res($atan*$sign)
}
^if($x < 0){
  $atan[^math:atan(^math:abs($y/$x))]
  $res(($math:PI-$atan)*$sign)
}
^if($x == 0){
  $res(($math:PI/2)*^math:sign($y))
}
# затычка для неверного автоформатирования отрицательных чисел
$result[^res.format[%.99f]]
#$result($res)

# END atan2
###########################################################################