diff --git a/basic-geometry-test/basic-geometry-test.cbp b/basic-geometry-test/basic-geometry-test.cbp
index f78d161..332417f 100644
--- a/basic-geometry-test/basic-geometry-test.cbp
+++ b/basic-geometry-test/basic-geometry-test.cbp
@@ -49,6 +49,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -73,6 +97,10 @@
+
+
+
+
@@ -93,6 +121,10 @@
+
+
+
+
diff --git a/basic-geometry-test/tests/quaternion/quaternion_is_zero.c b/basic-geometry-test/tests/quaternion/quaternion_is_zero.c
index 9f71f2f..cc6b52b 100644
--- a/basic-geometry-test/tests/quaternion/quaternion_is_zero.c
+++ b/basic-geometry-test/tests/quaternion/quaternion_is_zero.c
@@ -46,7 +46,7 @@ int test_bgc_quaternion_is_zero_fp32()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP32_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP32_NONZERO_QUATERNION_AMOUNT; i++) {
if (bgc_quaternion_is_zero_fp32(&_TEST_FP32_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
@@ -102,7 +102,7 @@ int test_bgc_quaternion_is_zero_fp64()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP64_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP64_NONZERO_QUATERNION_AMOUNT; i++) {
if (test_bgc_quaternion_is_zero_fp64(&_TEST_FP64_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
diff --git a/basic-geometry-test/tests/utilities/are_close.c b/basic-geometry-test/tests/utilities/are_close.c
index ea9411f..5810f69 100644
--- a/basic-geometry-test/tests/utilities/are_close.c
+++ b/basic-geometry-test/tests/utilities/are_close.c
@@ -20,22 +20,22 @@ static const _TestNumberPairFP32 _TEST_FP32_DATA_CLOSE[] = {
{1.0f, 1.0f},
{-1.0f, -1.0f},
- {-0.5f * BGC_EPSYLON_FP32, 0.5f * BGC_EPSYLON_FP32},
+ {-0.4f * BGC_EPSYLON_FP32, 0.4f * BGC_EPSYLON_FP32},
- {1.0f, 1.0f + BGC_EPSYLON_FP32},
- {1.0f, 1.0f - BGC_EPSYLON_FP32},
- {1.0f + BGC_EPSYLON_FP32, 1.0f},
- {1.0f - BGC_EPSYLON_FP32, 1.0f},
+ {1.0f, 1.0f + 0.75f * BGC_EPSYLON_FP32},
+ {1.0f, 1.0f - 0.75f * BGC_EPSYLON_FP32},
+ {1.0f + 0.75f * BGC_EPSYLON_FP32, 1.0f},
+ {1.0f - 0.75f * BGC_EPSYLON_FP32, 1.0f},
- {-1.0f, -1.0f + BGC_EPSYLON_FP32},
- {-1.0f, -1.0f - BGC_EPSYLON_FP32},
- {-1.0f + BGC_EPSYLON_FP32, -1.0f},
- {-1.0f - BGC_EPSYLON_FP32, -1.0f},
+ {-1.0f, -1.0f + 0.75f * BGC_EPSYLON_FP32},
+ {-1.0f, -1.0f - 0.75f * BGC_EPSYLON_FP32},
+ {-1.0f + 0.75f * BGC_EPSYLON_FP32, -1.0f},
+ {-1.0f - 0.75f * BGC_EPSYLON_FP32, -1.0f},
- {100.0f, 100.0f * (1.0f + BGC_EPSYLON_FP32)},
- {100.0f, 100.0f * (1.0f - BGC_EPSYLON_FP32)},
- {-100.0f, -100.0f * (1.0f + BGC_EPSYLON_FP32)},
- {-100.0f, -100.0f * (1.0f - BGC_EPSYLON_FP32)}
+ {100.0f, 100.0f * (1.0f + 0.75f * BGC_EPSYLON_FP32)},
+ {100.0f, 100.0f * (1.0f - 0.75f * BGC_EPSYLON_FP32)},
+ {-100.0f, -100.0f * (1.0f + 0.75f * BGC_EPSYLON_FP32)},
+ {-100.0f, -100.0f * (1.0f - 0.75f * BGC_EPSYLON_FP32)}
};
static const _TestNumberPairFP32 _TEST_FP32_DATA_DIFFERENT[] = {
@@ -45,20 +45,20 @@ static const _TestNumberPairFP32 _TEST_FP32_DATA_DIFFERENT[] = {
{-0.6f * BGC_EPSYLON_FP32, 0.6f * BGC_EPSYLON_FP32},
- {1.0f, 1.0f + 1.5f * BGC_EPSYLON_FP32},
- {1.0f, 1.0f - 1.5f * BGC_EPSYLON_FP32},
- {1.0f + 1.5f * BGC_EPSYLON_FP32, 1.0f},
- {1.0f - 1.5f * BGC_EPSYLON_FP32, 1.0f},
+ {1.0f, 1.0f + 1.25f * BGC_EPSYLON_FP32},
+ {1.0f, 1.0f - 1.25f * BGC_EPSYLON_FP32},
+ {1.0f + 1.25f * BGC_EPSYLON_FP32, 1.0f},
+ {1.0f - 1.25f * BGC_EPSYLON_FP32, 1.0f},
- {-1.0f, -1.0f + 1.5f * BGC_EPSYLON_FP32},
- {-1.0f, -1.0f - 1.5f * BGC_EPSYLON_FP32},
- {-1.0f + 1.5f * BGC_EPSYLON_FP32, -1.0f},
- {-1.0f - 1.5f * BGC_EPSYLON_FP32, -1.0f},
+ {-1.0f, -1.0f + 1.25f * BGC_EPSYLON_FP32},
+ {-1.0f, -1.0f - 1.25f * BGC_EPSYLON_FP32},
+ {-1.0f + 1.25f * BGC_EPSYLON_FP32, -1.0f},
+ {-1.0f - 1.25f * BGC_EPSYLON_FP32, -1.0f},
- {100.0f, 100.0f * (1.0f + 1.5f * BGC_EPSYLON_FP32)},
- {100.0f, 100.0f * (1.0f - 1.5f * BGC_EPSYLON_FP32)},
- {-100.0f, -100.0f * (1.0f + 1.5f * BGC_EPSYLON_FP32)},
- {-100.0f, -100.0f * (1.0f - 1.5f * BGC_EPSYLON_FP32)}
+ {100.0f, 100.0f * (1.0f + 1.25f * BGC_EPSYLON_FP32)},
+ {100.0f, 100.0f * (1.0f - 1.25f * BGC_EPSYLON_FP32)},
+ {-100.0f, -100.0f * (1.0f + 1.25f * BGC_EPSYLON_FP32)},
+ {-100.0f, -100.0f * (1.0f - 1.25f * BGC_EPSYLON_FP32)}
};
int test_bgc_are_close_fp32()
@@ -96,22 +96,22 @@ static const _TestNumberPairFP64 _TEST_FP64_DATA_CLOSE[] = {
{1.0, 1.0},
{-1.0, -1.0},
- {-0.5 * BGC_EPSYLON_FP64, 0.5 * BGC_EPSYLON_FP64},
+ {-0.4 * BGC_EPSYLON_FP64, 0.4 * BGC_EPSYLON_FP64},
- {1.0, 1.0 + BGC_EPSYLON_FP64},
- {1.0, 1.0 - BGC_EPSYLON_FP64},
- {1.0 + BGC_EPSYLON_FP64, 1.0},
- {1.0 - BGC_EPSYLON_FP64, 1.0},
+ {1.0, 1.0 + 0.75 * BGC_EPSYLON_FP64},
+ {1.0, 1.0 - 0.75 * BGC_EPSYLON_FP64},
+ {1.0 + 0.75 * BGC_EPSYLON_FP64, 1.0},
+ {1.0 - 0.75 * BGC_EPSYLON_FP64, 1.0},
- {-1.0, -1.0 + BGC_EPSYLON_FP64},
- {-1.0, -1.0 - BGC_EPSYLON_FP64},
- {-1.0 + BGC_EPSYLON_FP64, -1.0},
- {-1.0 - BGC_EPSYLON_FP64, -1.0},
+ {-1.0, -1.0 + 0.75 * BGC_EPSYLON_FP64},
+ {-1.0, -1.0 - 0.75 * BGC_EPSYLON_FP64},
+ {-1.0 + 0.75 * BGC_EPSYLON_FP64, -1.0},
+ {-1.0 - 0.75 * BGC_EPSYLON_FP64, -1.0},
- {100.0, 100.0 + 99.0 * BGC_EPSYLON_FP64},
- {100.0, 100.0 - 99.0 * BGC_EPSYLON_FP64},
- {-100.0, -100.0 + 99.0 * BGC_EPSYLON_FP64},
- {-100.0, -100.0 - 99.0 * BGC_EPSYLON_FP64}
+ {100.0, 100.0 * (1.0 + 0.75 * BGC_EPSYLON_FP64)},
+ {100.0, 100.0 * (1.0 - 0.75 * BGC_EPSYLON_FP64)},
+ {-100.0, -100.0 * (1.0 + 0.75 * BGC_EPSYLON_FP64)},
+ {-100.0, -100.0 * (1.0 - 0.75 * BGC_EPSYLON_FP64)}
};
static const _TestNumberPairFP64 _TEST_FP64_DATA_DIFFERENT[] = {
@@ -121,20 +121,20 @@ static const _TestNumberPairFP64 _TEST_FP64_DATA_DIFFERENT[] = {
{-0.6 * BGC_EPSYLON_FP64, 0.6 * BGC_EPSYLON_FP64},
- {1.0, 1.0 + 1.5 * BGC_EPSYLON_FP64},
- {1.0, 1.0 - 1.5 * BGC_EPSYLON_FP64},
- {1.0 + 1.5 * BGC_EPSYLON_FP64, 1.0},
- {1.0 - 1.5 * BGC_EPSYLON_FP64, 1.0},
+ {1.0, 1.0 + 1.25 * BGC_EPSYLON_FP64},
+ {1.0, 1.0 - 1.25 * BGC_EPSYLON_FP64},
+ {1.0 + 1.25 * BGC_EPSYLON_FP64, 1.0},
+ {1.0 - 1.25 * BGC_EPSYLON_FP64, 1.0},
- {-1.0, -1.0 + 1.5 * BGC_EPSYLON_FP64},
- {-1.0, -1.0 - 1.5 * BGC_EPSYLON_FP64},
- {-1.0 + 1.5 * BGC_EPSYLON_FP64, -1.0},
- {-1.0 - 1.5 * BGC_EPSYLON_FP64, -1.0},
+ {-1.0, -1.0 + 1.25 * BGC_EPSYLON_FP64},
+ {-1.0, -1.0 - 1.25 * BGC_EPSYLON_FP64},
+ {-1.0 + 1.25 * BGC_EPSYLON_FP64, -1.0},
+ {-1.0 - 1.25 * BGC_EPSYLON_FP64, -1.0},
- {100.0, 100.0 + 101.0 * BGC_EPSYLON_FP64},
- {100.0, 100.0 - 101.0 * BGC_EPSYLON_FP64},
- {-100.0, -100.0 + 101.0 * BGC_EPSYLON_FP64},
- {-100.0, -100.0 - 101.0 * BGC_EPSYLON_FP64}
+ {100.0, 100.0 * (1.0 + 1.25 * BGC_EPSYLON_FP64)},
+ {100.0, 100.0 * (1.0 - 1.25 * BGC_EPSYLON_FP64)},
+ {-100.0, -100.0 * (1.0 + 1.25 * BGC_EPSYLON_FP64)},
+ {-100.0, -100.0 * (1.0 - 1.25 * BGC_EPSYLON_FP64)}
};
int test_bgc_are_close_fp64()
diff --git a/basic-geometry-test/tests/vector2/vector2_is_zero.c b/basic-geometry-test/tests/vector2/vector2_is_zero.c
index 4aca263..ac3cee1 100644
--- a/basic-geometry-test/tests/vector2/vector2_is_zero.c
+++ b/basic-geometry-test/tests/vector2/vector2_is_zero.c
@@ -38,7 +38,7 @@ int test_bgc_vector2_is_zero_fp32()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP32_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP32_NONZERO_QUATERNION_AMOUNT; i++) {
if (bgc_vector2_is_zero_fp32(&_TEST_FP32_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
@@ -86,7 +86,7 @@ int test_bgc_vector2_is_zero_fp64()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP64_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP64_NONZERO_QUATERNION_AMOUNT; i++) {
if (bgc_vector2_is_zero_fp64(&_TEST_FP64_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
diff --git a/basic-geometry-test/tests/vector3/vector3_is_zero.c b/basic-geometry-test/tests/vector3/vector3_is_zero.c
index 4950e6e..1ec9eda 100644
--- a/basic-geometry-test/tests/vector3/vector3_is_zero.c
+++ b/basic-geometry-test/tests/vector3/vector3_is_zero.c
@@ -42,7 +42,7 @@ int test_bgc_vector3_is_zero_fp32()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP32_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP32_NONZERO_QUATERNION_AMOUNT; i++) {
if (bgc_vector3_is_zero_fp32(&_TEST_FP32_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
@@ -94,7 +94,7 @@ int test_bgc_vector3_is_zero_fp64()
}
// Testing non-zero values:
- for (int i = 0; i < _TEST_FP64_ZERO_QUATERNION_AMOUNT; i++) {
+ for (int i = 0; i < _TEST_FP64_NONZERO_QUATERNION_AMOUNT; i++) {
if (bgc_vector3_is_zero_fp64(&_TEST_FP64_NONZERO_NUMBERS[i])) {
print_testing_failed();
return TEST_FAILED;
diff --git a/basic-geometry/utilities.h b/basic-geometry/utilities.h
index 48c8d1e..db868e2 100644
--- a/basic-geometry/utilities.h
+++ b/basic-geometry/utilities.h
@@ -3,8 +3,8 @@
#define BGC_EPSYLON_EFFECTIVENESS_LIMIT_FP32 1.0f
-#define BGC_EPSYLON_FP32 5E-7f
-#define BGC_SQUARE_EPSYLON_FP32 2.5E-13f
+#define BGC_EPSYLON_FP32 4.76837E-7f
+#define BGC_SQUARE_EPSYLON_FP32 2.27373906E-13f
#define BGC_ONE_THIRD_FP32 0.333333333f
#define BGC_ONE_SIXTH_FP32 0.166666667f
@@ -15,8 +15,8 @@
#define BGC_EPSYLON_EFFECTIVENESS_LIMIT_FP64 1.0
-#define BGC_EPSYLON_FP64 5E-14
-#define BGC_SQUARE_EPSYLON_FP64 2.5E-27
+#define BGC_EPSYLON_FP64 4.996003611E-14
+#define BGC_SQUARE_EPSYLON_FP64 2.496005208112504E-27
#define BGC_ONE_THIRD_FP64 0.333333333333333333
#define BGC_ONE_SIXTH_FP64 0.166666666666666667