Add spin::function

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Refine

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Remove unused code

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Use a better implementation from public domain

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Add function example

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Add routine.hpp

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Fix function

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>
Add basic routine test

Signed-off-by: LAN Xingcan <lanxingcan@gmail.com>