static unsigned register_new(function_options const & opt);
static unsigned current_serial;
static unsigned find_function(const std::string &name, unsigned nparams);
+ static std::vector<function_options> get_registered_functions() { return registered_functions(); };
unsigned get_serial() const {return serial;}
std::string get_name() const;
#include "inifcns.h"
#include "tostring.h"
#include "utils.h"
+#include "hash_seed.h"
#include "remember.h"
#include <iostream>
unsigned function::calchash() const
{
- const void* this_tinfo = (const void*)typeid(*this).name();
- unsigned v = golden_ratio_hash(golden_ratio_hash((p_int)this_tinfo) ^ serial);
+ unsigned v = golden_ratio_hash(make_hash_seed(typeid(*this)) ^ serial);
for (size_t i=0; i<nops(); i++) {
v = rotate_left(v);
v ^= this->op(i).gethash();