unsigned function::calchash() const
{
- unsigned v = golden_ratio_hash(golden_ratio_hash((p_int)tinfo()) ^ serial);
+ const void* this_tinfo = (const void*)typeid(*this).name();
+ unsigned v = golden_ratio_hash(golden_ratio_hash((p_int)this_tinfo) ^ serial);
for (size_t i=0; i<nops(); i++) {
v = rotate_left(v);
v ^= this->op(i).gethash();
std::vector<function_options> & function::registered_functions()
{
- static std::vector<function_options> * rf = new std::vector<function_options>;
- return *rf;
+ static std::vector<function_options> rf = std::vector<function_options>();
+ return rf;
}
bool function::lookup_remember_table(ex & result) const