Решение на Polynomial от Десислава Цветкова
Към профила на Десислава Цветкова
Резултати
- 15 точки от тестове
- 0 бонус точки
- 15 точки общо
- 15 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (file:///tmp/d20171121-6053-o5zrse/solution) Finished dev [unoptimized + debuginfo] target(s) in 5.84 secs Running target/debug/deps/solution-200db9172ea1f728 running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Running target/debug/deps/solution_test-e3c9eb714e09105e running 15 tests test solution_test::test_add_poly ... ok test solution_test::test_add_poly_zero_one ... ok test solution_test::test_arithmetic_properties ... ok test solution_test::test_create_poly ... ok test solution_test::test_div_poly_f64 ... ok test solution_test::test_div_poly_f64_zero ... ok test solution_test::test_fp_comparison ... ok test solution_test::test_has_point ... ok test solution_test::test_lagrange_poly_1 ... ok test solution_test::test_lagrange_poly_2 ... ok test solution_test::test_lagrange_poly_err_eq_x ... ok test solution_test::test_mul_poly ... ok test solution_test::test_mul_poly_f64 ... ok test solution_test::test_mul_poly_f64_zero ... ok test solution_test::test_mul_poly_zero_one ... ok test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Doc-tests solution running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
История (3 версии и 3 коментара)
Десислава качи решение на 20.11.2017 16:35 (преди почти 8 години)
Десислава качи решение на 20.11.2017 16:55 (преди почти 8 години)
Интересно решение за уникалността на точките. In general, е готино да си ползва човек някаква структурка за това, чудех се даже дали да не вкараме, ама keep it simple, I guess. Все пак, не съм сигурен, че бих разчитал на нея, щото реално форматира числата в низове преди да ги хешира, което едва ли е много ефективно :/. Ръчната проверка за уникалност ще е по-тромава, но пък по-ефективна. Идеалния вариант би било нещо като dedup_by
, но пък това работи само за елементи един до друг. Не е лесно.
Добра употреба на функционален стил, Медъла би се зарадвал, ако гледаше домашните :). Не ти трябва if-клаузата, обаче -- ако коефициентите са празни, fold
-а няма да извика функцията, а просто ще върне първия аргумент, което е каквото се иска.
Ахх, това няма да проработи, ако дължините на векторите са различни :). Полином от [2.0]
ще е равен на полином от [1.0, 2.0]
. Как не съм се сетил да напиша тест за това! Отърваш се тоя път :).
Интересно решение за уникалността на точките. In general, е готино да си ползва човек някаква структурка за това, чудех се даже дали да не вкараме, ама keep it simple, I guess. Все пак, не съм сигурен, че бих разчитал на нея, щото реално форматира числата в низове преди да ги хешира, което едва ли е много ефективно :/. Ръчната проверка за уникалност ще е по-тромава, но пък по-ефективна. Идеалния вариант би било нещо като
dedup_by
, но пък това работи само за елементи един до друг. Не е лесно.Добра употреба на функционален стил, Медъла би се зарадвал, ако гледаше домашните :). Не ти трябва if-клаузата, обаче -- ако коефициентите са празни,
fold
-а няма да извика функцията, а просто ще върне първия аргумент, което е каквото се иска.Ахх, това няма да проработи, ако дължините на векторите са различни :). Полином от
[2.0]
ще е равен на полином от[1.0, 2.0]
. Как не съм се сетил да напиша тест за това! Отърваш се тоя път :).