Pavel Krajcevski
fe69dc9fb5
Fix small bug with large consequences
2014-03-21 20:26:45 -04:00
Pavel Krajcevski
dcc12eb28a
Intel compiler hates floats
2014-03-21 20:25:59 -04:00
Pavel Krajcevski
2b17cf6f97
Add scalar-matrix multiplication
2014-03-21 01:17:19 -04:00
Pavel Krajcevski
63b8744917
Pull out multiplication routines so that they can be specialized if need be
2014-03-21 01:16:45 -04:00
Pavel Krajcevski
31c799a02a
Add equality operators
2014-03-21 01:15:35 -04:00
Pavel Krajcevski
037cb0951b
Built-in rand was causing severe perf issues.
2014-03-21 01:13:57 -04:00
Pavel Krajcevski
675ebc28a1
Add matrix equality operator
2014-03-20 18:33:24 -04:00
Pavel Krajcevski
ff210ed741
Fix serious bug in Image.cpp
2014-03-18 19:37:26 -04:00
Pavel Krajcevski
0afa26ac74
Add proper return value
2014-03-12 19:38:17 -04:00
Pavel Krajcevski
b5f3cde554
Add ASTC compression formats
2014-03-12 14:02:34 -04:00
Pavel Krajcevski
7ee0df9a5a
Add 2bpp PVRTC compression format
2014-03-12 14:01:31 -04:00
Pavel Krajcevski
0a4726bfe2
Merge branch 'master' into DecompressASTC
2014-03-12 13:29:17 -04:00
Pavel Krajcevski
cc566471e9
Disambiguate the sqrts we're using
2014-03-12 12:12:20 -04:00
Pavel Krajcevski
6fdc3814b1
Seriously, I hate compiler warnings
2014-03-12 03:51:16 -04:00
Pavel Krajcevski
02e1749051
More compiler warnings
2014-03-12 03:46:23 -04:00
Pavel Krajcevski
caf4864761
More compiler warnings.
2014-03-12 03:40:45 -04:00
Pavel Krajcevski
c5d0a803e9
One more small piece of determinism
2014-03-12 03:31:53 -04:00
Pavel Krajcevski
7ecb217d20
More determinism
2014-03-12 03:29:05 -04:00
Pavel Krajcevski
88821fbbb0
Prevent the compiler from deciding whether or not the float is big enough to overflow or not...
2014-03-12 03:02:17 -04:00
Pavel Krajcevski
e96cecc13a
Add some typename specifiers
2014-03-12 03:01:28 -04:00
Pavel Krajcevski
479ba8e76d
Fix a bunch of MSVC compiler warnings and errors.
...
Most notably, we need to actually fix a bug in MSVC that doesn't know how to properly instantiate
enums in partial template specialization. There are more details outlined here:
http://stackoverflow.com/questions/15466594/why-does-msvc-fail-to-compile-this-template-function
The fix in this commit closes #10
Also in this commit is a hacky way to allow GL defines. Apparently "LoadImage" is defined as a
macro even with WIN32_LEAN_AND_MEAN. This means that we have to #undef the code that includes
it, meaning that we also need to make sure not to actually mix GLDefines.h with any file that needs
to use the functions from Windows.h
2014-03-12 02:43:09 -04:00
Pavel Krajcevski
0eae5548a3
Make unit tests a bit more deterministic
2014-03-12 02:42:45 -04:00
Pavel Krajcevski
c5aab908ef
Relax the test parameters on eigenvalue calculation
2014-03-12 02:42:09 -04:00
Pavel Krajcevski
ce99d79bab
Add some static casts
2014-03-12 02:41:23 -04:00
Pavel Krajcevski
cebce26be1
Change our pixel component type to be signed
2014-03-11 16:52:02 -04:00
Pavel Krajcevski
3dd1444ff6
Add clamping to our pixels
2014-03-11 16:48:25 -04:00
Pavel Krajcevski
86678c0cfe
Add 4-value pixel constructor
2014-03-11 16:40:31 -04:00
Pavel Krajcevski
ed61bcfee4
Add generatl bit replication function
2014-03-10 18:30:27 -04:00
Pavel Krajcevski
94db169582
Add a utility Bits class to help work with bit ranges in integers. Ideally we should add a bunch of other classical bitwise operations here
2014-03-07 19:31:22 -05:00
Pavel Krajcevski
c6948e8421
Merge branch 'master' into ModularizeBPTC
2014-02-27 14:20:50 -05:00
Pavel Krajcevski
ba0b5df59e
Finish matrix unit tests
2014-02-21 17:45:07 -05:00
Pavel Krajcevski
8b9e8cd9b5
Add matrix multiplication infrastructure
2014-02-21 16:18:00 -05:00
Pavel Krajcevski
05eeb09f36
Constify
2014-02-21 16:11:49 -05:00
Pavel Krajcevski
0c4b226c78
Add matrix transpose
2014-02-20 16:15:13 -05:00
Pavel Krajcevski
98bc157e00
Add matrix multiplication test
2014-02-20 16:11:25 -05:00
Pavel Krajcevski
d4ec0a3b3b
Stub out remaining tests
2014-02-20 15:48:08 -05:00
Pavel Krajcevski
4ca6141be6
Add simple 4x4 matrix file
2014-02-20 15:47:48 -05:00
Pavel Krajcevski
2af172e5e5
Add power method iteration for square matrices
2014-02-20 15:47:14 -05:00
Pavel Krajcevski
7ed5c13405
Allow additional indexable types
...
Instead of using operator() to index into the second operand of the
VectorAddition function, use operator[]. This way we can add to pointers
and std::vector types as well.
2014-02-20 15:36:59 -05:00
Pavel Krajcevski
1b7691993d
Add initial matrix tests
2014-02-20 15:34:12 -05:00
Pavel Krajcevski
62cce58c2f
Fix some of the vector multiplication and divide routines.
...
In general, we want the scalar division of vectors and matrices to
have the matrix come first and the scalar come second. It doesn't make
sense to divide a scalar by a vector or to divide a matrix by a vector,
so these should now produce errors at compile time.
Also, make sure to add additional types that can be multiplied together
using the * operator. If we multiply two vectors together, that's a dot
product. The size restrictions should be enforced at compile time by the
template parameters for VectorBase<T, N>::Dot
In this way, we can support vector/matrix multiplication by retaining the
* operator as well.
2014-02-20 14:49:35 -05:00
Pavel Krajcevski
2d7ee21fb7
Let the compiler choose what precision we want to do the vector-scalar multiplication/division in.
2014-02-19 19:36:28 -05:00
Pavel Krajcevski
366a7cdfe4
Add some YCoCg tests
2014-02-19 19:35:29 -05:00
Pavel Krajcevski
9dc23db287
Add YCoCg pixel type
2014-02-18 13:25:29 -05:00
Pavel Krajcevski
4fc75f22dc
Fix vector operators to avoid needing overloads
2014-02-17 13:02:43 -05:00
Pavel Krajcevski
0875ee0ddb
Constify
2014-02-16 18:29:08 -05:00
Pavel Krajcevski
2213e1b7d6
Add tests for special vector cases
2014-02-16 18:28:37 -05:00
Pavel Krajcevski
45b739a44a
Add some tests for VectorBase
2014-02-16 17:17:25 -05:00
Pavel Krajcevski
92f5893650
Add first vector tests
2014-02-16 13:20:43 -05:00
Pavel Krajcevski
9f0603aaa8
Add scaling tests to make sure that bit depths are preserved.
2014-02-16 12:33:05 -05:00