Вы можете использовать это: http://getfirebug.com/js.html . Он имеет профилировщик для JavaScript.
radians = degrees * (pi/180)
degrees = radians * (180/pi)
Что касается реализации, основной вопрос состоит в том, как точный Вы хотите быть о значении пи. Существует некоторое связанное обсуждение здесь
полный круг в радианах 2*pi. Полный круг в градусах 360. Для движения от градусов до радианов это (d/360) * 2*pi, или d*pi/180.
360 градусов 2*PI радианы
, можно найти формулы преобразования в: http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees .
x рады в градусах-> градусы x*180/pi
x в радах-> x*pi/180
я предполагаю, хотели ли Вы сделать функцию для этого [в PHP]:
function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}
if ($type == "degs") {
$result = $num*pi()/180;
}
return $result;
}
Да, который мог, вероятно, быть записан лучше.
Радианы пи = 180 градусов
Так 1 градус = радианы пи/180
или 1 радиан = 180/пи градусов
360 градусов = 2*pi радианы
, Который означает deg2rad (x) = x*pi/180 и rad2deg (x) = 180x/pi;
На основе ответа перекати-поля я сделал сценарий, который использует поиски способности для предложения пакетов, которые рекомендуют недостающий пакет.
Это однако не дает то же, полный список как синаптическое. Никакая идея, почему.
#!/usr/bin/php
<?php
$list = shell_exec("aptitude search '?broken-reverse-recommends(?installed)'");
preg_match_all("|^.{4}(.*) - (.*)$|mU", $list, $matches);
foreach ($matches[1] as $prog) {
$prog = trim($prog);
echo "$prog:\n";
$missing = shell_exec("aptitude search '?installed?broken-recommends($prog)'");
preg_match_all("|^.{4}(.*) - (.*)$|mU", $missing, $mismatch);
foreach ($mismatch[1] as $missoft) {
echo "\tRecommended by: ".trim($missoft)."\n";
}
}
ecryptfs-utils:
Recommended by: adduser
firefox:
Recommended by: xubuntu-desktop
Recommended by: xul-ext-ubufox
firefox-gnome-support:
Recommended by: xubuntu-desktop
libatm1:
Recommended by: iproute
Способность может выполнить приблизительно довольно необычные поиски
, Это покажет все пакеты, которые имеют Рекомендование, которое не удовлетворено:
aptitude search '?installed?broken-recommends'
Для ограничения его определенным рекомендуемым пакетом:
aptitude search '?installed?broken-recommends(PACKAGE)'
Насколько я знаю, что нет никакого простого способа узнать, какой пакет рекомендует определенный другой пакет.
Вот сырой сценарий для создания списка того, что пакет рекомендует или предлагает что другой пакет:
dpkg --get-selections | cut -f 1 | while read pkgname
do
apt-cache depends "$pkgname" | \
grep -E "Recommends|Suggests" | \
cut -b 3- | \
while read recommends
do
echo "$pkgname" "$recommends"
done
done | sort -k 3 -k 2 | column -t
Примечание: сценарий берет некоторых для выполнения. Также вывод очень длинен, таким образом, Вы очень вероятно хотите получить вывод в файле:
$ whatrecommends.sh > whatrecommends.txt
Образец вывода:
...
ubuntu-desktop Recommends: avahi-autoipd
avahi-daemon Suggests: avahi-autoipd
dhcp3-client Suggests: avahi-autoipd
libnss-mdns Suggests: avahi-autoipd
hplip Recommends: avahi-daemon
rhythmbox Recommends: avahi-daemon
ubuntu-desktop Recommends: avahi-daemon
libsane Suggests: avahi-daemon
pulseaudio-utils Suggests: avahi-daemon
sane-utils Suggests: avahi-daemon
system-config-printer-common Recommends: avahi-utils
bash Recommends: bash-completion
ubuntu-standard Recommends: bash-completion
ack-grep Suggests: bash-completion
bash Suggests: bash-doc
...
Путем изменения параметров sort
в конце сценария можно изменить порядок сортировки вывода.
Здесь, мой путь - сообщает для пропавших без вести, рекомендует :)
apt-cache --no-pre-depends --no-depends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances depends `dpkg --get-selections | grep '\sinstall | cut -f1` | grep -vf <(dpkg --get-selections | grep '\sinstall | cut -f1 | sed -e 's/^/ /' -e 's/\(:.*\|\)$/$/') | grep -B1 '^ '