James Turner
01ab3b2385
New SGGeodesy::advance, taking degrees
2020-05-30 16:27:42 +01:00
James Turner
17d7808200
Remove a log message
2020-04-22 10:54:44 +01:00
James Turner
da45c26e7d
Adding pixel manipulators to canvas::Image
2019-12-17 22:32:25 +00:00
James.Hester
0919f5bf9c
Improve comments on previous commit.
2019-11-12 08:00:04 +11:00
James.Hester
b91d4411b5
Added point_in_triangle function.
2019-11-12 07:55:09 +11:00
Erik Hofman
7981809f36
Split up SIMD support in ENABLE_SIMD which enables sse2 support for the compiler and ENABLE_SIMD_CODE which enables the hand crafted SIMD math functions which defaults to OFF now since compilers have catched up on generating optimized vectorized SIMD code.
2019-01-15 10:36:23 +01:00
Erik Hofman
4e8df9dcc8
Remove a bunch og gcc-8 warnings
2018-07-04 09:33:32 +02:00
James Turner
8621925e75
Floating-point comparison helpers for SGMath<T>
...
Implemented using numeric_limits::epsilon and std::abs, fingers
crossed this is sufficiently portable!
2018-01-26 11:29:18 +00:00
Erik Hofman
4860a70443
Fix (hopefully) sim4_t class initialization problems
2017-04-27 14:54:21 +02:00
Florent Rougon
79f869a7f3
Move IOStreams-related files to simgear/io/iostreams; rename zfstream.[ch]xx to gzfstream.[ch]xx
...
- Rename zfstream.cxx (resp. zfstream.hxx) to gzfstream.cxx (resp.
gzfstream.hxx)
This is because these files only deal with the gzip format (RFC 1952),
while zlib can actually read and write two slightly different formats:
this one and the "ZLIB Compressed Data Format" (RFC 1950). Since I am
going to add std::streambuf and std::istream subclasses able to deal
with both formats (and supporting data sources that are general
std::istream instances, not just files), this renaming will make
things a bit clearer, I hope.
- Add new folder simgear/io/iostreams and move the following files to
this folder:
simgear/misc/gzcontainerfile.cxx
simgear/misc/gzcontainerfile.hxx
simgear/misc/gzfstream.cxx
simgear/misc/gzfstream.hxx
simgear/misc/sgstream.cxx
simgear/misc/sgstream.hxx
simgear/misc/sgstream_test.cxx
- Adapt other files accordingly (mainly #includes and CMakeLists.txt
files).
2017-02-12 21:18:52 +01:00
Erik Hofman
7f65e7f905
We need to copy the matrix before altering it's contents: Fix a SGMathTest failure
2017-02-03 15:07:35 +01:00
Erik Hofman
3417ca7e49
Add a linear-interpolation function
2017-02-02 11:35:11 +01:00
Erik Hofman
c87dff7e8f
More code cleanups ans fix a Clang problem. And disable AVX for good, I don't have time for this crap anymore: it looks like a hardware or compielr bug
2017-01-31 00:04:01 +01:00
Erik Hofman
332f76f34d
Last code cleanups and more explicit constructors
2017-01-30 18:25:42 +01:00
Erik Hofman
3387f3d084
Switch to c++11 alignas instead of our own hacks
2017-01-30 16:00:29 +01:00
Erik Hofman
bd421c381c
Also make AVX available for simd4x4
2017-01-30 12:53:52 +01:00
Erik Hofman
0cce949837
Fix the last bug that prevented AVX from working properly. Hopefully this fixes all other SIMD related problems too
2017-01-30 12:25:51 +01:00
Erik Hofman
866f85064a
Fix a mistake
2017-01-30 00:18:36 +01:00
Erik Hofman
9215c530b3
Explicit declaration of more constructors to make sure the laste lane of simd4_t<T,3> and the last two lanes of simd4_t<T,2> remain zero
2017-01-29 15:26:34 +01:00
Erik Hofman
edec5bbc01
There is still a segmenttion fault issue with the AVX code, disable it until this is sorted out
2017-01-26 14:46:36 +01:00
Erik Hofman
bcecee0f76
Small optimization to my own cross product implementation
2017-01-21 10:28:24 +01:00
Erik Hofman
f9f2b4cbdb
Bring the ARM NEON code in line with the SSE code
2017-01-20 15:32:28 +01:00
Erik Hofman
9e1aaa8b56
Make a distinction between a null-pointer and the value of 0
2017-01-19 23:14:39 +01:00
Erik Hofman
ef2eb635af
Fix a header path
2017-01-19 16:41:01 +01:00
Erik Hofman
2db412a923
Specialize class constructors in the hope to ged rid of wrong compiler assignment of an unaligned float array to an SSE register
2017-01-19 16:39:30 +01:00
Erik Hofman
061fea48c8
Add an ARM NEON readu simd4x4_neon.hxx and small fixes for simd_neon.hxx
2017-01-19 13:20:52 +01:00
Erik Hofman
c4ea62a899
Add a version of simd.hxx for ARM NEON
2017-01-18 15:41:12 +01:00
Erik Hofman
789c09a402
I forgot the linux variant of ALIGN
2017-01-12 14:19:09 +01:00
Erik Hofman
1b793a127c
Be more explicit about alignment
2017-01-12 10:18:39 +01:00
Erik Hofman
637f67888a
Reinstate AVX support again
2017-01-07 13:55:09 +01:00
Erik Hofman
14ebe0b618
Disable AVX support until someone figures out why it is not working properly
2017-01-06 00:11:05 +01:00
Erik Hofman
7b0faed03a
Fix an AVX error
2017-01-04 16:30:19 +01:00
Erik Hofman
8d1dc30b07
Try to fix a possible AVX core dump
2017-01-04 12:55:28 +01:00
Erik Hofman
03cff6abca
Fix Never use <avxintrin.h> directly; include <immintrin.h> instead.
2017-01-01 13:26:36 +01:00
Erik Hofman
d7821324b8
Fix a wrong enclosing bracket
2017-01-01 11:40:59 +01:00
Erik Hofman
f0e6402fff
One more, and hopefully the last, MSVC fix
2016-12-23 15:31:40 +01:00
Erik Hofman
41bf142e31
Try to fix an MSVC compile error
2016-12-23 14:50:14 +01:00
Erik Hofman
2e9efa98d7
Add accelearated cross product
2016-12-22 13:43:04 +01:00
Erik Hofman
2c2a57f368
Addd support for AVX, 4 double precision operations in one go
2016-12-21 09:04:46 +01:00
Erik Hofman
4ea1326126
A better MSVC fix and code speedups
2016-12-20 09:54:19 +01:00
Erik Hofman
09b44ac68a
MSVC compiler fix (hopefully)
2016-12-19 18:37:52 +01:00
Erik Hofman
a48ab434ab
Convert more code to SIMD
2016-12-19 15:58:57 +01:00
Erik Hofman
fe73247b82
Really use _mm_setzero_ps9) instead
2016-12-16 11:04:49 +01:00
Erik Hofman
e5b51677c5
MacOS fix
2016-12-15 13:11:31 +01:00
Erik Hofman
f9450d136d
Minor speedups in small tweaks
2016-12-15 09:57:10 +01:00
Erik Hofman
0586cb62c3
Fix the pink-sky bug, don't initilize the vector with (z,y,z,w) but use the proper (x,y,z,w) instead
2016-12-15 09:56:52 +01:00
Erik Hofman
8fee04b32b
Generalize the code to be able to test integers too
2016-12-14 11:05:56 +01:00
Erik Hofman
04e16c95e2
Consolidate some code, exlicitly use intrinsics (instead of the usual math operators): this fixes a compiler bug for integers and add some SSE4.1 accelerations for integers
2016-12-14 11:05:31 +01:00
Erik Hofman
e257dbe6ed
accelerate float rotation_matrix and fix a bug for double rotation_matrix
2016-12-14 11:03:32 +01:00
Erik Hofman
abf78f8e31
Make absolutely sure the unions are 16-bytes aligned, move more setters and min() and max() to the simd implementation and add horizontal SIMD add functions for magnitude2 and dot
2016-12-12 20:27:07 +01:00