diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2015-02-11 17:39:28 +0100 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2015-05-02 21:36:44 +0200 |
commit | b8a1610a4c976c03c1a9a442487b6b0ba90cc01c (patch) | |
tree | c4c8cca3097c205d680224a5337bcd8988926c91 /private.h | |
parent | 568a58f7260766eba3257e0341db00170e0ad08e (diff) | |
download | pucket-b8a1610a4c976c03c1a9a442487b6b0ba90cc01c.tar.gz pucket-b8a1610a4c976c03c1a9a442487b6b0ba90cc01c.tar.bz2 pucket-b8a1610a4c976c03c1a9a442487b6b0ba90cc01c.zip |
Vectorize variants
Slightly worse with amdlibm, slightly better with gcc’s builtins (no
optimization) and worse with optimization
Diffstat (limited to 'private.h')
-rw-r--r-- | private.h | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -99,9 +99,10 @@ typedef struct { } flam3_iter_constants; -typedef struct { +typedef double double2 __attribute__ ((vector_size (sizeof (double)*2))); - double tx,ty; /* Starting coordinates */ +typedef struct { + double2 t; double precalc_atan, precalc_sina; /* Precalculated, if needed */ double precalc_cosa, precalc_sqrt; @@ -110,8 +111,7 @@ typedef struct { flam3_xform *xform; /* For the important values */ /* Output Coords */ - - double p0, p1; + double2 p; /* Pointer to the isaac RNG state */ randctx *rc; |