moved inline constructor
inlined
compute hash once
ensure float
inline, remove mutexes