mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
19 lines
762 B
C++
19 lines
762 B
C++
#include <quiz.h>
|
|
#include <poincare/erf_inv.h>
|
|
#include <float.h>
|
|
#include <cmath>
|
|
|
|
using namespace Poincare;
|
|
|
|
QUIZ_CASE(erf_inv) {
|
|
quiz_assert(erfInv(0.0) == 0.0);
|
|
quiz_assert(std::isinf(erfInv(1.0)) && erfInv(1.0) > 0.0);
|
|
quiz_assert(std::isinf(erfInv(-1.0)) && erfInv(-1.0) < 0.0);
|
|
quiz_assert(std::fabs(erfInv(0.5) - 0.476936276204469873381418353643130559808969749059470644703) < DBL_EPSILON);
|
|
quiz_assert(std::fabs(erfInv(0.25) - 0.225312055012178104725014013952277554782118447807246757600) < DBL_EPSILON);
|
|
quiz_assert(std::fabs(erfInv(0.999999) - 3.458910737279500022150927635957569519915669808042886747076) < 10E-6);
|
|
quiz_assert(std::fabs(erfInv(0.123456) - 0.109850294001424923867673480939041914394684494884310054922) < DBL_EPSILON);
|
|
|
|
}
|
|
|