| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 29.01.2007 14:37 / 29.01.2007 14:38
# в $sing бывает 1 или -1, незачем брать sing и его сравнивать, всё можно сделать одним сравнением
$sign(^if($y<0){-1}{1})
# а тут вместо 3-х if лучше использовать 1 switch и убрать промежуточную строковую переменную $atan
^swith(^math:sign($x)){
^case(1){
$res($sign*^math:atan(^math:abs($y/$x)))
}
^case(-1){
$res($sign*($math:PI-^math:atan(^math:abs($y/$x))))
}
^case(0){
$res(^math:sign($y)*$math:PI/2)
}
}
...