{"action":"created","issue":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/4161","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/4161/labels{/name}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/4161/comments","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/4161/events","html_url":"https://github.com/RIOT-OS/RIOT/pull/4161","id":113470052,"number":4161,"title":"sys: fmt: initial commit of simple string formatting library","user":{"login":"kaspar030","id":4679640,"avatar_url":"https://avatars.githubusercontent.com/u/4679640?v=3","gravatar_id":"","url":"https://api.github.com/users/kaspar030","html_url":"https://github.com/kaspar030","followers_url":"https://api.github.com/users/kaspar030/followers","following_url":"https://api.github.com/users/kaspar030/following{/other_user}","gists_url":"https://api.github.com/users/kaspar030/gists{/gist_id}","starred_url":"https://api.github.com/users/kaspar030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaspar030/subscriptions","organizations_url":"https://api.github.com/users/kaspar030/orgs","repos_url":"https://api.github.com/users/kaspar030/repos","events_url":"https://api.github.com/users/kaspar030/events{/privacy}","received_events_url":"https://api.github.com/users/kaspar030/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/enhancement","name":"enhancement","color":"f17070"},{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Ready%20for%20CI%20build","name":"Ready for CI build","color":"bfdadc"}],"state":"open","locked":false,"assignee":{"login":"OlegHahm","id":1590423,"avatar_url":"https://avatars.githubusercontent.com/u/1590423?v=3","gravatar_id":"","url":"https://api.github.com/users/OlegHahm","html_url":"https://github.com/OlegHahm","followers_url":"https://api.github.com/users/OlegHahm/followers","following_url":"https://api.github.com/users/OlegHahm/following{/other_user}","gists_url":"https://api.github.com/users/OlegHahm/gists{/gist_id}","starred_url":"https://api.github.com/users/OlegHahm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OlegHahm/subscriptions","organizations_url":"https://api.github.com/users/OlegHahm/orgs","repos_url":"https://api.github.com/users/OlegHahm/repos","events_url":"https://api.github.com/users/OlegHahm/events{/privacy}","received_events_url":"https://api.github.com/users/OlegHahm/received_events","type":"User","site_admin":false},"milestone":null,"comments":19,"created_at":"2015-10-26T23:09:28Z","updated_at":"2015-10-30T17:46:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/4161","html_url":"https://github.com/RIOT-OS/RIOT/pull/4161","diff_url":"https://github.com/RIOT-OS/RIOT/pull/4161.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/4161.patch"},"body":"On my quest to minimize RIOT's memory & code requirements, I implemented these simple string formatting & printing functions.\r\n\r\nThe API is inspired by libdjb & libowfat, but was rewritten from scratch with several optimizations for our beloved MCUs.\r\n\r\n- allows printing / formatting stuff without *printf / C stdio \r\n- very efficient: e.g., ```fmt_u32_dec(buf, val)``` is at least ~~50~~ 5 times faster than ```sprintf(buf, \"%u\", val)``` on sam r21 when run in a loop\r\n- uses div.h for integer divisions in it's conversion functions (has no dependency on soft-float libs)\r\n- uses very little stack and should thus be a lot safer to use in ISRs.\r\n\r\n**edit** corrected performance claims"},"comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments/152599330","html_url":"https://github.com/RIOT-OS/RIOT/pull/4161#issuecomment-152599330","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/4161","id":152599330,"user":{"login":"kaspar030","id":4679640,"avatar_url":"https://avatars.githubusercontent.com/u/4679640?v=3","gravatar_id":"","url":"https://api.github.com/users/kaspar030","html_url":"https://github.com/kaspar030","followers_url":"https://api.github.com/users/kaspar030/followers","following_url":"https://api.github.com/users/kaspar030/following{/other_user}","gists_url":"https://api.github.com/users/kaspar030/gists{/gist_id}","starred_url":"https://api.github.com/users/kaspar030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaspar030/subscriptions","organizations_url":"https://api.github.com/users/kaspar030/orgs","repos_url":"https://api.github.com/users/kaspar030/repos","events_url":"https://api.github.com/users/kaspar030/events{/privacy}","received_events_url":"https://api.github.com/users/kaspar030/received_events","type":"User","site_admin":false},"created_at":"2015-10-30T17:46:30Z","updated_at":"2015-10-30T17:46:30Z","body":"@cgundogan Huh, what do you mean? They did get executed (in the x86 group), no?"}}