add docstring
add support for different floating precision via function pointers
update autogen files