Statistics
| Branch: | Revision:

adafruit_bno055 / utility @ a6c06c10

# Date Author Comment
a6c06c10 2016-02-26 15:33 Gé Vissers

Remove unused include

fd9de024 2016-02-26 13:20 Gé Vissers

The cross product is only defined for 3D vectors. Instead of checking the size
at runtime, only provide an implementation for N==3. Trying to use the cross
function with other vector sizes will then result in a link error.

7ede6000 2016-02-25 16:04 Gé Vissers

Excessive parentheses only make the expressions hareder to read.

2dd31024 2016-02-25 15:45 Gé Vissers

Replace use of float by double.

All values in a quaternion are declared double, let's not lose precision on
platforms where double is larger than float.

2b07acc9 2016-02-25 15:42 Gé Vissers

Simplify a few more functions, and pass vector arguments by reference

88b09bb5 2016-02-25 15:20 Gé Vissers

Simplify constructors

0ecc7129 2016-02-25 15:09 Gé Vissers

Simplify several functions by replacing the body with one-line calls to the
constructor. Furthermore, pass Quaternion arguments by reference to avoid
excessive copying.

4a94251b 2016-02-25 14:52 Gé Vissers

Quaternion needs the definition of a matrix. Include it.

e8e79779 2016-02-25 14:04 Gé Vissers

Fix conversion of impure rotation matrices to quaternions

The test for the largest element in the matrix diagonal was reversed, which
resulted in taking the square root of a negative value for matrices with
determinant less than zero.

02609f56 2016-02-24 16:09 Gé Vissers

Store determinant as double when computing matrix inverse. Does not matter on Arduino, but might on other platforms.

ba125e3b 2016-02-24 15:20 Gé Vissers

The recursive definition of the determinant function, combined with the fact
that no specialized function for the base case N==1 is given, leads to
instantiation of this function for all 256 possible values of a uint8_t (even
though these are not used in practice). Fix this by providing an explicit...

3e5e5286 2016-02-24 14:37 Gé Vissers

Remove inclusion of unused headers

322c0d59 2016-02-24 14:35 Gé Vissers

Fix calculation of inverse. We should divide by the determinant instead of multiply with it.

55604844 2016-02-24 14:01 Gé Vissers

Fix minor_matrix() accessing data past end of array.

b79e511b 2016-02-24 13:55 Gé Vissers

Get rid of superfluous _cell member

b5f89f32 2016-02-24 13:52 Gé Vissers

Use more standard (i, j) index names and constify transpose()

771690b8 2016-02-24 13:48 Gé Vissers

Prevent copying row data for every element in matrix multiplication.

364879d2 2016-02-24 13:45 Gé Vissers

Dox matrix addition, subtraction, and scalar multiplication using a single loop instead of a double loop.

9f03e367 2016-02-24 13:38 Gé Vissers

make row and column retrieval function const, pass Vector arguments to row and column setters as const reference

8208cc49 2016-02-24 13:32 Gé Vissers

Use a single loop to copy matrices

9c729628 2016-02-24 13:26 Gé Vissers

Add functions for reading elements of constant matrix

a2da8ab6 2016-02-24 13:24 Gé Vissers

Fix memset() in constructors writing past end of data

c2a8045b 2016-02-24 13:20 Gé Vissers

Include vector.h, so that including just matrix.h will pull in the requested dependencies

b2d499c7 2015-05-21 22:15 Paul Du Bois (laptop)

Remove unnecessary double* pointer from Vector<N>

The pointer prevents the use of bitwise move/copy/initialize operations
on Vector(). Less importantly, it's an unnecessary memory bloat.

abce6607 2015-05-21 22:15 Paul Du Bois (laptop)

Bug fix for Vector::magnitude()

Sample failure: Vector<1>(0.5).magnitude() returns 1, not 0.5.
The avoid-sqrt optimization is dubious at best, and should arguably
just be removed.

0695bf91 2015-05-21 22:15 Paul Du Bois (laptop)

Add "const" to non-mutating Vector, Quat methods

Also adds some clarifying documentation, since the quat->euler axis
conventions are a bit surprising.

d964148c 2015-05-01 20:30 Tony DiCola

Switch from dynamic memory to stack allocated memory for imumath types, add TinyWireM support, make indentation consistent.

4bc1c0c1 2015-04-05 01:45 Kevin Townsend

First commit