{"action":"created","issue":{"url":"https://api.github.com/repos/parallella/pal/issues/117","labels_url":"https://api.github.com/repos/parallella/pal/issues/117/labels{/name}","comments_url":"https://api.github.com/repos/parallella/pal/issues/117/comments","events_url":"https://api.github.com/repos/parallella/pal/issues/117/events","html_url":"https://github.com/parallella/pal/pull/117","id":86720907,"number":117,"title":"CORDIC sincos implementation from http://www.dcs.gla.ac.uk/~jhw/cordic/","user":{"login":"westonized","id":6041352,"avatar_url":"https://avatars.githubusercontent.com/u/6041352?v=3","gravatar_id":"","url":"https://api.github.com/users/westonized","html_url":"https://github.com/westonized","followers_url":"https://api.github.com/users/westonized/followers","following_url":"https://api.github.com/users/westonized/following{/other_user}","gists_url":"https://api.github.com/users/westonized/gists{/gist_id}","starred_url":"https://api.github.com/users/westonized/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/westonized/subscriptions","organizations_url":"https://api.github.com/users/westonized/orgs","repos_url":"https://api.github.com/users/westonized/repos","events_url":"https://api.github.com/users/westonized/events{/privacy}","received_events_url":"https://api.github.com/users/westonized/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-06-09T20:13:56Z","updated_at":"2015-06-13T12:41:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/parallella/pal/pulls/117","html_url":"https://github.com/parallella/pal/pull/117","diff_url":"https://github.com/parallella/pal/pull/117.diff","patch_url":"https://github.com/parallella/pal/pull/117.patch"},"body":"SinCos implementation with CORDIC from http://www.dcs.gla.ac.uk/~jhw/cordic/\r\n\r\nUses only int maths, addition/subtraction xor.\r\n\r\nUsed 17 iterations which gives error of less than 0.00001549 compared to sinf/cosf, takes about 3x as long on I7 desktop, which means about 21 microsconds from about 7 for native.\r\n\r\nTakes any float angle, normalizes to range [-pi..pi] see discussion here #118."},"comment":{"url":"https://api.github.com/repos/parallella/pal/issues/comments/111706760","html_url":"https://github.com/parallella/pal/pull/117#issuecomment-111706760","issue_url":"https://api.github.com/repos/parallella/pal/issues/117","id":111706760,"user":{"login":"kfitch","id":17753,"avatar_url":"https://avatars.githubusercontent.com/u/17753?v=3","gravatar_id":"","url":"https://api.github.com/users/kfitch","html_url":"https://github.com/kfitch","followers_url":"https://api.github.com/users/kfitch/followers","following_url":"https://api.github.com/users/kfitch/following{/other_user}","gists_url":"https://api.github.com/users/kfitch/gists{/gist_id}","starred_url":"https://api.github.com/users/kfitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kfitch/subscriptions","organizations_url":"https://api.github.com/users/kfitch/orgs","repos_url":"https://api.github.com/users/kfitch/repos","events_url":"https://api.github.com/users/kfitch/events{/privacy}","received_events_url":"https://api.github.com/users/kfitch/received_events","type":"User","site_admin":false},"created_at":"2015-06-13T12:41:14Z","updated_at":"2015-06-13T12:41:14Z","body":"I just redid some quick/dirty benchmarks on my desktop box (Athon64X2 4600+)  and I find that p_sin_f is very roughly twice as fast a calling sinf from -lm. That being said, it turns out that p_cos_f32 is not faster, I think the difference mainly comes down to the M_NORMALIZE_RADIAN macro which p_cos uses, but p_sin doesn't (as of right now). \r\n\r\nThe end result is that I was a little too quick to dismiss your code, but I am not yet convinced there is a clear winner in performance between the two."}}