mayton2019,
Но я уже забил с делал log и exp через ряды тейлора и через log и exp сделал pow. Но что-то точность при больших значениях страдает. Мб есть ещё какие способы поточнее...
mayton2019, Так а зачем, если оно всё равно нерабочее? Зачем знать глубину рекурсии, если делать другой алгоритм в итоге? Просто s21_pow поменять на pow внутри функции и рекурсии не будет. Но оно всё равно результат не выдаст. Зачем тогда исправлять?
long double celoe = floor(fabs(exp)); Проблема с рекурсией была вот в этом месте. Допустим ему приходит целое число 1, но он воспринял его как 0.999999999999999999, и в итоге получил 0 из за floor.
long double drob = fabs(exp) - celoe;
Потом вместо того, чтобы от 1 отнять 1 и получить 0, он получает 1 и заходит в if (drob > eps), куда заходить не должен, а оттуда опять вызывает s21_pow и всё по новой.
mayton2019, Ну смысл бороться с сег фолт, если все равно делать потом другой код) Да, скорее всего он из-за чего-то заходит бесконечно в рекурсию. Поставил обычный pow внутри функции, сег фолта нет, но в результате nan.
Короче надо нормальный рабочий метод.
mayton2019, Так проблема в большом числе. При степени 2.99 получаю результат моментально (правильный). При степени 2.999 он уже секунд 5 считает и потом выдаёт результат тоже правильный. А вот при 2.9999 получается уже слишком большая степень (9999 и 100000 степени), даже если бы не было сег фолта, он бы это минуту считал наверное (сначала вроде он мне выдавал не сег фолт, а nan или inf). А мне ещё больше надо чисел после запятой в степени сделать.
Запись обязательно должна быть такой ./a.out file1... 9.txt > file.log. Да, немного не дописал изначально. То есть я открываю в программе разные файлы. Результат обработки любого из файлов должен выводиться в консоль при обычном запуске (без > file.log). А с перенаправлением вывода, при обработке некоторых файлов записываться ничего не должно. Запуск обработки всех файлов осуществляется в цикле bash скрипта, поэтому > /dev/null не подходит.
Ну это не сказать, чтгбы логгирование... При обычном запуске через ./a.out мне надо, чтобы вывелось в консоль. А при ./a.out > file.log чтобы ни в консоль ни в файл оно не записалось.
Так ну значит я сам немного недопонял. Нужно чтобы без перенаправления в лог выводилось в консоль, а с перенаправлением ни в консоль ни в файл не записывалось.
А в каком случае он может быть не равен двойке, меньше двойки же он быть не может? Допустим на поле есть один зацикливающийся элемент и один, который через 2 хода умрёт.
Через N и 2N ходов мы получим, что поля совпадают (причём повторяющийся элемент находится там, где находился на старте). Но цикл ещё не закончен, так как на старте был ещё один умерший элемент. Поэтому с момента совпадения полей на N и 2N полях, я решил запустить новую скрытую игру со старта без 2х скорости и сравнивать оригинальную с ней. Ну и получается, когда на стартовой умрёт элемент, поля совпадут и вот тут и начнётся цикл.
Например, 2 элемента идут к друг к другу, через 30 секунд сталкиваются, образуя зацикливающуюсяя фигуру, которая проходит цикл за 70 секунд. В этом случае сравнение с 2х скоростью ничего не даст. Такое, получается, возможно?
ThunderCat, так ну мне тут в другом месте написали: "у php и бд свои производительности. Ты ждешь пока фронт отправит запрос на бек, бек его обрабатывает (в твоем случае php), потом передает на бд, бд его обрабатывает, бек отправляет на фронт"
То есть оно же все поочереди выходит, то есть быстродействие языка и фреймворка получается влияет?
Так я и не выбирал, а просто по гайду можно сказать, который простым показался, начал делать. И вот теперь надо как-то обосновать выбор PHP, как серверного языка, и Laravel, как его фреймворка.
Ну про JS да, можно сказать, что на клиенте не будет всяких сложностей и нет необходимости использовать фреймворк.
А почему именно PHP, а не какой-нибудь там питон или джава, или на чём там ещё бек делают?
Про Ларавел да, слишком общее получается. У меня проект веб-приложение информационная система, может тут получится что сказать, что Laravel для такого больше других PHP-фреймворков подойдёт)
Vindicar, Ну а вот этим "окном" же мы всё равно проходимся по всему изображению, просто смещая постепенно в сторону и вниз? Посмотрели первое окно, отклика от классификатора нет, передвинулись на пиксельный столбец правее и опять проверяется отклик уже на следующем окне, и так пока не обойдётся всё изображение.
По идее же в итоге и получается, что размер "окна" этого и будет размером самого прямоугольного фильтра (признака).
Так ну то есть у нас есть окно (размером 24 на 24 в xml файлах каскадов хаара). Этим окном мы смещаясь по одному пикселю проходим по всему изображению. Если в окне сумма яркостей проходит порог, то это место становится слабым классификатором. Пройдя по всему изображению получаем множество слабых классификаторов. Затем слабые классификаторы объединяются в сильный (вот тут не пойму, каким образом). А вот дальше уже чёт не могу понять, что происходит.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.