add assert macros and constexpr check macro
remove useless comments