You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
907 B

#include "Quaternion.hpp"
#include <cassert>
#include <cstdio>
using namespace matrix;
int main()
{
// test default ctor
Quatf q;
assert(q(0) == 1);
assert(q(1) == 0);
assert(q(2) == 0);
assert(q(3) == 0);
q = Quatf(0.1825742f, 0.3651484f, 0.5477226f, 0.7302967f);
assert(q(0) == 0.1825742f);
assert(q(1) == 0.3651484f);
assert(q(2) == 0.5477226f);
assert(q(3) == 0.7302967f);
// test euler ctor
q = Quatf(Eulerf(0.1f, 0.2f, 0.3f));
assert((q - Quatf(0.983347f, 0.034271f, 0.106021f, 0.143572f)).norm() < 1e-5);
// test dcm ctor
q = Quatf(Dcmf());
assert(q == Quatf(1.0f, 0.0f, 0.0f, 0.0f));
// TODO test derivative
// test accessors
q(0) = 0.1f;
q(1) = 0.2f;
q(2) = 0.3f;
q(3) = 0.4f;
assert(q == Quatf(0.1f, 0.2f, 0.3f, 0.4f));
return 0;
}
/* vim: set et fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : */