u01 functions in its own module
fix VSMC_HAS_OPENCL_DOUBLE default
U01 class now has the same convension as functions
use new U01 class interface
remove unnecessary def