summaryrefslogtreecommitdiff
path: root/private.h
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2015-02-11 17:39:28 +0100
committerLars-Dominik Braun <lars@6xq.net>2015-05-02 21:36:44 +0200
commitb8a1610a4c976c03c1a9a442487b6b0ba90cc01c (patch)
treec4c8cca3097c205d680224a5337bcd8988926c91 /private.h
parent568a58f7260766eba3257e0341db00170e0ad08e (diff)
downloadpucket-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.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/private.h b/private.h
index 9800f82..dc3e19c 100644
--- a/private.h
+++ b/private.h
@@ -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;