{"push_id":2569133282,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"5dd369f63259abd94a481407e0041674ecc3da2a","before":"16e2a571214800410693ff1d7443161547567e8e","commits":[{"sha":"269dc16f8bd323c1e16893ed1481494d4d7bac65","author":{"name":"Wilco Dijkstra","email":"b10952a6adf3e582545cb411b5ee4b6ad37fa890@arm.com"},"message":"Improve performance of sinf/cosf/sincosf\n\nThis patch is a complete rewrite of sinf, cosf and sincosf.  The new version\nis significantly faster, as well as simple and accurate.\nThe worst-case ULP is 0.56072, maximum relative error is 0.5303p-23 over all\n4 billion inputs.  In non-nearest rounding modes the error is 1ULP.\n\nThe algorithm uses 3 main cases: small inputs which don't need argument\nreduction, small inputs which need a simple range reduction and large inputs\nrequiring complex range reduction.  The code uses approximate integer\ncomparisons to quickly decide between these cases - on some targets this may\nbe slow, so this can be configured to use floating point comparisons.\n\nThe small range reducer uses a single reduction step to handle values up to\n120.0.  It is fastest on targets which support inlined round instructions.\n\nThe large range reducer uses integer arithmetic for simplicity.  It does a\n32x96 bit multiply to compute a 64-bit modulo result.  This is more than\naccurate enough to handle the worst-case cancellation for values close to\nan integer multiple of PI/4.  It could be further optimized, however it is\nalready much faster than necessary.","distinct":true,"url":"https://api.github.com/repos/ARM-software/optimized-routines/commits/269dc16f8bd323c1e16893ed1481494d4d7bac65"},{"sha":"5dd369f63259abd94a481407e0041674ecc3da2a","author":{"name":"Szabolcs Nagy","email":"d77b367e41cc0376563afc7bc48977ce34582d62@arm.com"},"message":"Add simple sincosf test support\n\nThe test code does not handle multiple return values so use wrappers\naround sincosf.  The same behaviour is expected as with sinf and cosf\nexcept the status flags should be the union of calling both sinf and\ncosf for a particular input, for this reason separate name is used\nfor sincosf tests instead of reusing existing sinf and cosf ones.\n\nThe provided tests are copies of existing sinf and cosf tests and\na sincosf specific underflow test.","distinct":true,"url":"https://api.github.com/repos/ARM-software/optimized-routines/commits/5dd369f63259abd94a481407e0041674ecc3da2a"}]}
{"actor":{"display_login":"nsz-arm"}}