|
|
|
|
|
для: cheops
(22.05.2008 в 19:44)
| | Спасибо! Яснот еперь. | |
|
|
|
|
|
|
|
для: Eugene77
(22.05.2008 в 18:12)
| | вообще-то float в С и float в php - две разные вещи. | |
|
|
|
|
|
|
|
для: Eugene77
(22.05.2008 в 17:32)
| | В Linux нужен будет GCC, в Windows - Visual Studio С++. | |
|
|
|
|
|
|
|
для: Eugene77
(22.05.2008 в 18:12)
| | Вообще-то возвращается double, однако в конфигурационный файл php.ini сейчас введена директива
которая указывает, сколько знаков после запятой должно отображаться в вещественном числе - может у вас с этим что-то связанно, попробуйте поиграться этой директивой (хотя она не должна на вычисления влиять - её дело формат вывода). Ошибки накапливаются действительно быстро, для этого и введены функции expm1() и log1p() - они очень точно считают свой класс задач. | |
|
|
|
|
|
|
|
для: cheops
(21.05.2008 в 11:48)
| | >У PHP только две функции expm1() и log1p(), которые высчитывают значения повышенной точности и только под UNIX в Windows они используют обычные функции.
Даже эти функции возвращают float. А разности между float - это уже источник значительных погрешностей, если точки на графике находятся близко.
Если я правильно помню, в Cи все математические функции по умолчанию возвращают double.
Вроде бы PHP на Си написан, как же они изменили этот разумный подход?
Может быть возможно как-то вернуть изначальное положение вещей? | |
|
|
|
|
|
|
|
для: cheops
(21.05.2008 в 11:51)
| | Я давно уже не писал на Си чего-то реально работающего.
Какой мне надо компилятор: стандартный линуксовский или микрософтовский подойдёт? | |
|
|
|
|
|
|
|
для: Eugene77
(20.05.2008 в 15:16)
| | >>>Или может быть, есть какой-то метод подключить к PHP библиотеки СИ?
>>Можно написать расширение.
>
>Как это сделать? Я знаю что должна делать моя программа, но как её проще всего приделать к PHP?
>
>У меня мысль такая: PHP скрипт пишет во временную директорию файлы. Программа - расширение читает их и перерабатывает, а потом записывает в другие файлы результат. Потом из этих файлов снова читает PHP скрипт и выводит уже окончательный результат.
>
>Но расширение - это наверно что-то другое? Меня с ним на хостинг пустят?
>Если мне делать в Linux - среде, то придётся перекомпилировать PHP интерпретатор?
>Под windjws надо делать свой DLL? Как его делают?
Маловероятно, что вас на хостинг с ней пустят, зависит от хостинга, если там допускается использоваться CGI-скрипты, написанные на C - можно с помощью их что-то сделать. | |
|
|
|
|
|
|
|
для: Eugene77
(21.05.2008 в 11:10)
| | У PHP только две функции expm1() и log1p(), которые высчитывают значения повышенной точности и только под UNIX в Windows они используют обычные функции. | |
|
|
|
|
|
|
|
для: mihdan
(20.05.2008 в 23:07)
| | Почти нечего описывать.
Есть формула, содержащая тригонометрические функции, надо постоить её график.
Формула не очень простая и из-за разностей больших чисел начинают получаться ступеньки на графике, где должно идти плавно.
Вот уже неделю вокруг неё хожу. На другом языке записал - всё работает нормально, но мне надо на PHP. | |
|
|
|
|
|
|
|
для: Eugene77
(20.05.2008 в 15:16)
| | Для начала опишите полностью задачу, возможно будет все сделать проще чем вам кажется и на РНР. Может вы просто что-то недопоняли | |
|
|
|
|