X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fparser%2Fdefault_reader.cpp;h=4017fd5cebbdc35301785a4ddeb84d03e176355f;hb=55a08d9cb9005bb10def92d5e8f5a816003da16b;hp=4f8c69c365d19be46be795cd7e003eb4e2a011ad;hpb=4ec372a00b1a13e6374ce880cbd68c2e14114dad;p=ginac.git diff --git a/ginac/parser/default_reader.cpp b/ginac/parser/default_reader.cpp index 4f8c69c3..4017fd5c 100644 --- a/ginac/parser/default_reader.cpp +++ b/ginac/parser/default_reader.cpp @@ -4,7 +4,7 @@ **/ /* - * GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2014 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 @@ -23,6 +23,7 @@ #include "parse_context.h" #include "power.h" +#include "lst.h" #include "operators.h" #include "inifcns.h" #ifdef HAVE_CONFIG_H @@ -40,15 +41,22 @@ static ex sqrt_reader(const exvector& ev) { 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 @@ -87,6 +95,7 @@ const prototype_table& get_default_reader() 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; std::vector::const_iterator it = registered_functions_hack::get_registered_functions().begin(); std::vector::const_iterator end = @@ -112,6 +121,7 @@ const prototype_table& get_builtin_reader() 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,