gallivm: unify sin and cos implementation
authorRoland Scheidegger <sroland@vmware.com>
Wed, 21 Aug 2013 20:01:12 +0000 (22:01 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Wed, 21 Aug 2013 20:05:53 +0000 (22:05 +0200)
commite6013e4bee7ebff6b7bd2f3b95eb16e8949e228c
tree78060879fdf1bb0616f38e78647af584f97ccec6
parent275d2efeed79f135bbcc512bcf2c0607f2f25cd1
gallivm: unify sin and cos implementation

The (complicated!) math is all identical, there's just minimal differences how
sign bit is calculated plus there's an additional subtraction for the argument
going into the polynomial for cos.
The logic stays 100% the same (with a small exception, sign bit calculation for
sin is minimally simplified, applying sign mask after xoring the arguments
instead of applying it to each argument).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_arit.c
src/gallium/auxiliary/gallivm/lp_bld_sample.c