aboutsummaryrefslogtreecommitdiff
path: root/main/tests/test_math.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main/tests/test_math.cpp')
-rw-r--r--main/tests/test_math.cpp242
1 files changed, 108 insertions, 134 deletions
diff --git a/main/tests/test_math.cpp b/main/tests/test_math.cpp
index 4b686e8af..e760d1ec7 100644
--- a/main/tests/test_math.cpp
+++ b/main/tests/test_math.cpp
@@ -27,38 +27,35 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "test_math.h"
-#include "ustring.h"
-#include "print_string.h"
-#include "transform.h"
-#include "matrix3.h"
-#include "math_funcs.h"
#include "camera_matrix.h"
-#include "scene/main/node.h"
-#include "variant.h"
-#include "servers/visual/shader_language.h"
+#include "math_funcs.h"
+#include "matrix3.h"
#include "os/keyboard.h"
+#include "os/os.h"
+#include "print_string.h"
+#include "scene/main/node.h"
#include "scene/resources/texture.h"
+#include "servers/visual/shader_language.h"
+#include "transform.h"
+#include "ustring.h"
+#include "variant.h"
#include "vmap.h"
-#include "os/os.h"
#include "method_ptrcall.h"
namespace TestMath {
-
void test_vec(Plane p_vec) {
-
CameraMatrix cm;
- cm.set_perspective(45,1,0,100);
- Plane v0=cm.xform4(p_vec);
-
- print_line("out: "+v0);
- v0.normal.z = (v0.d/100.0 *2.0-1.0) * v0.d;
- print_line("out_F: "+v0);
+ cm.set_perspective(45, 1, 0, 100);
+ Plane v0 = cm.xform4(p_vec);
+ print_line("out: " + v0);
+ v0.normal.z = (v0.d / 100.0 * 2.0 - 1.0) * v0.d;
+ print_line("out_F: " + v0);
-/*v0: 0, 0, -0.1, 0.1
+ /*v0: 0, 0, -0.1, 0.1
v1: 0, 0, 0, 0.1
fix: 0, 0, 0, 0.1
v0: 0, 0, 1.302803, 1.5
@@ -74,46 +71,39 @@ v0: 0, 0, 100, 100
v1: 0, 0, 100, 100
fix: 0, 0, 100, 100
*/
-
-
}
-uint32_t ihash( uint32_t a)
-{
- a = (a+0x7ed55d16) + (a<<12);
- a = (a^0xc761c23c) ^ (a>>19);
- a = (a+0x165667b1) + (a<<5);
- a = (a+0xd3a2646c) ^ (a<<9);
- a = (a+0xfd7046c5) + (a<<3);
- a = (a^0xb55a4f09) ^ (a>>16);
- return a;
+uint32_t ihash(uint32_t a) {
+ a = (a + 0x7ed55d16) + (a << 12);
+ a = (a ^ 0xc761c23c) ^ (a >> 19);
+ a = (a + 0x165667b1) + (a << 5);
+ a = (a + 0xd3a2646c) ^ (a << 9);
+ a = (a + 0xfd7046c5) + (a << 3);
+ a = (a ^ 0xb55a4f09) ^ (a >> 16);
+ return a;
}
-uint32_t ihash2( uint32_t a) {
- a = (a ^ 61) ^ (a >> 16);
- a = a + (a << 3);
- a = a ^ (a >> 4);
- a = a * 0x27d4eb2d;
- a = a ^ (a >> 15);
- return a;
+uint32_t ihash2(uint32_t a) {
+ a = (a ^ 61) ^ (a >> 16);
+ a = a + (a << 3);
+ a = a ^ (a >> 4);
+ a = a * 0x27d4eb2d;
+ a = a ^ (a >> 15);
+ return a;
}
-uint32_t ihash3( uint32_t a)
-{
- a = (a+0x479ab41d) + (a<<8);
- a = (a^0xe4aa10ce) ^ (a>>5);
- a = (a+0x9942f0a6) - (a<<14);
- a = (a^0x5aedd67d) ^ (a>>3);
- a = (a+0x17bea992) + (a<<7);
- return a;
+uint32_t ihash3(uint32_t a) {
+ a = (a + 0x479ab41d) + (a << 8);
+ a = (a ^ 0xe4aa10ce) ^ (a >> 5);
+ a = (a + 0x9942f0a6) - (a << 14);
+ a = (a ^ 0x5aedd67d) ^ (a >> 3);
+ a = (a + 0x17bea992) + (a << 7);
+ return a;
}
+MainLoop *test() {
-
-
-MainLoop* test() {
-
- print_line(itos(Math::step_decimals( 0.0001 )));
+ print_line(itos(Math::step_decimals(0.0001)));
return NULL;
{
@@ -122,35 +112,33 @@ MainLoop* test() {
List<StringName> tl;
ObjectTypeDB::get_type_list(&tl);
-
- for (List<StringName>::Element *E=tl.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = tl.front(); E; E = E->next()) {
Vector<uint8_t> m5b = E->get().operator String().md5_buffer();
hashes.push_back(hashes.size());
-
}
//hashes.resize(50);
- for(int i=nearest_shift(hashes.size());i<20;i++) {
+ for (int i = nearest_shift(hashes.size()); i < 20; i++) {
- bool success=true;
- for(int s=0;s<10000;s++) {
+ bool success = true;
+ for (int s = 0; s < 10000; s++) {
Set<uint32_t> existing;
- success=true;
+ success = true;
- for(int j=0;j<hashes.size();j++) {
+ for (int j = 0; j < hashes.size(); j++) {
- uint32_t eh = ihash2(ihash3(hashes[j]+ihash(s)+s))&((1<<i)-1);
+ uint32_t eh = ihash2(ihash3(hashes[j] + ihash(s) + s)) & ((1 << i) - 1);
if (existing.has(eh)) {
- success=false;
+ success = false;
break;
}
existing.insert(eh);
}
if (success) {
- print_line("success at "+itos(i)+"/"+itos(nearest_shift(hashes.size()))+" shift "+itos(s));
+ print_line("success at " + itos(i) + "/" + itos(nearest_shift(hashes.size())) + " shift " + itos(s));
break;
}
}
@@ -160,47 +148,42 @@ MainLoop* test() {
print_line("DONE");
-
-
return NULL;
}
{
-
- // print_line("NUM: "+itos(237641278346127));
- print_line("NUM: "+itos(-128));
+ // print_line("NUM: "+itos(237641278346127));
+ print_line("NUM: " + itos(-128));
return NULL;
-
}
-
{
- Vector3 v(1,2,3);
+ Vector3 v(1, 2, 3);
v.normalize();
- float a=0.3;
+ float a = 0.3;
//Quat q(v,a);
- Matrix3 m(v,a);
+ Matrix3 m(v, a);
- Vector3 v2(7,3,1);
+ Vector3 v2(7, 3, 1);
v2.normalize();
- float a2=0.8;
+ float a2 = 0.8;
//Quat q(v,a);
- Matrix3 m2(v2,a2);
+ Matrix3 m2(v2, a2);
- Quat q=m;
- Quat q2=m2;
+ Quat q = m;
+ Quat q2 = m2;
Matrix3 m3 = m.inverse() * m2;
- Quat q3 = (q.inverse() * q2);//.normalized();
+ Quat q3 = (q.inverse() * q2); //.normalized();
print_line(Quat(m3));
print_line(q3);
- print_line("before v: "+v+" a: "+rtos(a));
- q.get_axis_and_angle(v,a);
- print_line("after v: "+v+" a: "+rtos(a));
+ print_line("before v: " + v + " a: " + rtos(a));
+ q.get_axis_and_angle(v, a);
+ print_line("after v: " + v + " a: " + rtos(a));
}
return NULL;
@@ -208,98 +191,91 @@ MainLoop* test() {
List<String> args;
args.push_back("-l");
- Error err = OS::get_singleton()->execute("/bin/ls",args,true,NULL,&ret);
- print_line("error: "+itos(err));
+ Error err = OS::get_singleton()->execute("/bin/ls", args, true, NULL, &ret);
+ print_line("error: " + itos(err));
print_line(ret);
return NULL;
Matrix3 m3;
- m3.rotate(Vector3(1,0,0),0.2);
- m3.rotate(Vector3(0,1,0),1.77);
- m3.rotate(Vector3(0,0,1),212);
+ m3.rotate(Vector3(1, 0, 0), 0.2);
+ m3.rotate(Vector3(0, 1, 0), 1.77);
+ m3.rotate(Vector3(0, 0, 1), 212);
Matrix3 m32;
m32.set_euler(m3.get_euler());
- print_line("ELEULEEEEEEEEEEEEEEEEEER: "+m3.get_euler()+" vs "+m32.get_euler());
-
+ print_line("ELEULEEEEEEEEEEEEEEEEEER: " + m3.get_euler() + " vs " + m32.get_euler());
return NULL;
{
Dictionary d;
- d["momo"]=1;
- Dictionary b=d;
- b["44"]=4;
+ d["momo"] = 1;
+ Dictionary b = d;
+ b["44"] = 4;
}
-
-
return NULL;
- print_line("inters: "+rtos(Geometry::segment_intersects_circle(Vector2(-5,0),Vector2(-2,0),Vector2(),1.0)));
-
+ print_line("inters: " + rtos(Geometry::segment_intersects_circle(Vector2(-5, 0), Vector2(-2, 0), Vector2(), 1.0)));
-
- print_line("cross: "+Vector3(1,2,3).cross(Vector3(4,5,7)));
- print_line("dot: "+rtos(Vector3(1,2,3).dot(Vector3(4,5,7))));
- print_line("abs: "+Vector3(-1,2,-3).abs());
- print_line("distance_to: "+rtos(Vector3(1,2,3).distance_to(Vector3(4,5,7))));
- print_line("distance_squared_to: "+rtos(Vector3(1,2,3).distance_squared_to(Vector3(4,5,7))));
- print_line("plus: "+(Vector3(1,2,3)+Vector3(Vector3(4,5,7))));
- print_line("minus: "+(Vector3(1,2,3)-Vector3(Vector3(4,5,7))));
- print_line("mul: "+(Vector3(1,2,3)*Vector3(Vector3(4,5,7))));
- print_line("div: "+(Vector3(1,2,3)/Vector3(Vector3(4,5,7))));
- print_line("mul scalar: "+(Vector3(1,2,3)*2));
- print_line("premul scalar: "+(2*Vector3(1,2,3)));
- print_line("div scalar: "+(Vector3(1,2,3)/3.0));
- print_line("length: "+rtos(Vector3(1,2,3).length()));
- print_line("length squared: "+rtos(Vector3(1,2,3).length_squared()));
- print_line("normalized: "+Vector3(1,2,3).normalized());
- print_line("inverse: "+Vector3(1,2,3).inverse());
+ print_line("cross: " + Vector3(1, 2, 3).cross(Vector3(4, 5, 7)));
+ print_line("dot: " + rtos(Vector3(1, 2, 3).dot(Vector3(4, 5, 7))));
+ print_line("abs: " + Vector3(-1, 2, -3).abs());
+ print_line("distance_to: " + rtos(Vector3(1, 2, 3).distance_to(Vector3(4, 5, 7))));
+ print_line("distance_squared_to: " + rtos(Vector3(1, 2, 3).distance_squared_to(Vector3(4, 5, 7))));
+ print_line("plus: " + (Vector3(1, 2, 3) + Vector3(Vector3(4, 5, 7))));
+ print_line("minus: " + (Vector3(1, 2, 3) - Vector3(Vector3(4, 5, 7))));
+ print_line("mul: " + (Vector3(1, 2, 3) * Vector3(Vector3(4, 5, 7))));
+ print_line("div: " + (Vector3(1, 2, 3) / Vector3(Vector3(4, 5, 7))));
+ print_line("mul scalar: " + (Vector3(1, 2, 3) * 2));
+ print_line("premul scalar: " + (2 * Vector3(1, 2, 3)));
+ print_line("div scalar: " + (Vector3(1, 2, 3) / 3.0));
+ print_line("length: " + rtos(Vector3(1, 2, 3).length()));
+ print_line("length squared: " + rtos(Vector3(1, 2, 3).length_squared()));
+ print_line("normalized: " + Vector3(1, 2, 3).normalized());
+ print_line("inverse: " + Vector3(1, 2, 3).inverse());
{
- Vector3 v(4,5,7);
+ Vector3 v(4, 5, 7);
v.normalize();
- print_line("normalize: "+v);
+ print_line("normalize: " + v);
}
{
- Vector3 v(4,5,7);
- v+=Vector3(1,2,3);
- print_line("+=: "+v);
+ Vector3 v(4, 5, 7);
+ v += Vector3(1, 2, 3);
+ print_line("+=: " + v);
}
{
- Vector3 v(4,5,7);
- v-=Vector3(1,2,3);
- print_line("-=: "+v);
+ Vector3 v(4, 5, 7);
+ v -= Vector3(1, 2, 3);
+ print_line("-=: " + v);
}
{
- Vector3 v(4,5,7);
- v*=Vector3(1,2,3);
- print_line("*=: "+v);
+ Vector3 v(4, 5, 7);
+ v *= Vector3(1, 2, 3);
+ print_line("*=: " + v);
}
{
- Vector3 v(4,5,7);
- v/=Vector3(1,2,3);
- print_line("/=: "+v);
+ Vector3 v(4, 5, 7);
+ v /= Vector3(1, 2, 3);
+ print_line("/=: " + v);
}
{
- Vector3 v(4,5,7);
- v*=2.0;
- print_line("scalar *=: "+v);
+ Vector3 v(4, 5, 7);
+ v *= 2.0;
+ print_line("scalar *=: " + v);
}
{
- Vector3 v(4,5,7);
- v/=2.0;
- print_line("scalar /=: "+v);
+ Vector3 v(4, 5, 7);
+ v /= 2.0;
+ print_line("scalar /=: " + v);
}
-
-
#if 0
print_line(String("C:\\momo\\.\\popo\\..\\gongo").simplify_path());
print_line(String("res://../popo/..//gongo").simplify_path());
@@ -381,7 +357,5 @@ MainLoop* test() {
#endif
return NULL;
-
}
-
}