Exemplo n.º 1
0
int
main()
    {
    test_matrix<1,2>();
    test_matrix<2,1>();
    test_matrix<2,2>();
    test_matrix<1,3>();
    test_matrix<3,1>();
    test_matrix<3,3>();
    test_matrix<1,4>();
    test_matrix<4,1>();
    test_matrix<4,4>();
    test_matrix<1,5>();
    test_matrix<5,1>();
    test_matrix<5,5>();
    test_quaternion();
    test_vector<2>();
    test_vector<3>();
    test_vector<4>();
    test_vector<5>();
    return boost::report_errors();
    }
Exemplo n.º 2
0
int
main()
    {
    test_matrix<1,2>("((42,43))");
    test_matrix<2,1>("((42)(43))");
    test_matrix<2,2>("((42,43)(44,45))");
    test_matrix<1,3>("((42,43,44))");
    test_matrix<3,1>("((42)(43)(44))");
    test_matrix<3,3>("((42,43,44)(45,46,47)(48,49,50))");
    test_matrix<1,4>("((42,43,44,45))");
    test_matrix<4,1>("((42)(43)(44)(45))");
    test_matrix<4,4>("((42,43,44,45)(46,47,48,49)(50,51,52,53)(54,55,56,57))");
    test_matrix<1,5>("((42,43,44,45,46))");
    test_matrix<5,1>("((42)(43)(44)(45)(46))");
    test_matrix<5,5>("((42,43,44,45,46)(47,48,49,50,51)(52,53,54,55,56)(57,58,59,60,61)(62,63,64,65,66))");
    test_vector<2>("(42,43)");
    test_vector<3>("(42,43,44)");
    test_vector<4>("(42,43,44,45)");
    test_vector<5>("(42,43,44,45,46)");
    test_quaternion("(42,43,44,45)");
    return boost::report_errors();
    }
Exemplo n.º 3
0
void test_quaternion_eulers(void)
{
    uint8_t i, j, k;
    uint8_t N = ARRAY_SIZE(angles);

    hal.console->println("quaternion unit tests\n");

    test_quaternion(M_PI/4, 0, 0);
    test_quaternion(0, M_PI/4, 0);
    test_quaternion(0, 0, M_PI/4);
    test_quaternion(-M_PI/4, 0, 0);
    test_quaternion(0, -M_PI/4, 0);
    test_quaternion(0, 0, -M_PI/4);
    test_quaternion(-M_PI/4, 1, 1);
    test_quaternion(1, -M_PI/4, 1);
    test_quaternion(1, 1, -M_PI/4);

    test_quaternion(ToRad(89), 0, 0.1f);
    test_quaternion(0, ToRad(89), 0.1f);
    test_quaternion(0.1f, 0, ToRad(89));

    test_quaternion(ToRad(91), 0, 0.1f);
    test_quaternion(0, ToRad(91), 0.1f);
    test_quaternion(0.1f, 0, ToRad(91));

    for (i=0; i<N; i++)
        for (j=0; j<N; j++)
            for (k=0; k<N; k++)
                test_quaternion(angles[i], angles[j], angles[k]);

    hal.console->println("tests done\n");
}