**/
/*
- * GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2016 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "parse_context.h"
#include "power.h"
+#include "lst.h"
#include "operators.h"
#include "inifcns.h"
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#ifdef HAVE_STDINT_H
-#include <stdint.h> // for uintptr_t
-#endif
+#include <cstdint> // for uintptr_t
namespace GiNaC
{
{
return GiNaC::sqrt(ev[0]);
}
+
static ex pow_reader(const exvector& ev)
{
return GiNaC::pow(ev[0], ev[1]);
}
+
static ex power_reader(const exvector& ev)
{
return GiNaC::power(ev[0], ev[1]);
}
+static ex lst_reader(const exvector& ev)
+{
+ return GiNaC::lst(ev.begin(), ev.end());
+}
+
// function::registered_functions() is protected, but we need to access it
// TODO: add a proper const method to the `function' class, so we don't
reader[make_pair("sqrt", 1)] = sqrt_reader;
reader[make_pair("pow", 2)] = pow_reader;
reader[make_pair("power", 2)] = power_reader;
- std::vector<function_options>::const_iterator it =
- registered_functions_hack::get_registered_functions().begin();
- std::vector<function_options>::const_iterator end =
- registered_functions_hack::get_registered_functions().end();
+ reader[make_pair("lst", 0)] = lst_reader;
unsigned serial = 0;
- for (; it != end; ++it) {
- prototype proto = make_pair(it->get_name(), it->get_nparams());
+ for (auto & it : registered_functions_hack::get_registered_functions()) {
+ prototype proto = make_pair(it.get_name(), it.get_nparams());
reader[proto] = encode_serial_as_reader_func(serial);
++serial;
}
reader[make_pair("sqrt", 1)] = sqrt_reader;
reader[make_pair("pow", 2)] = pow_reader;
reader[make_pair("power", 2)] = power_reader;
+ reader[make_pair("lst", 0)] = lst_reader;
enum {
log,
exp,