From 4b2093332579a615f9cbb4b6a083b893f57be028 Mon Sep 17 00:00:00 2001 From: maartenkeijzer Date: Thu, 24 Nov 2005 09:38:05 +0000 Subject: [PATCH] kd --- .../eo_interface/eoSymLambdaMutate.cpp | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp diff --git a/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp b/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp new file mode 100644 index 00000000..e7eeecf5 --- /dev/null +++ b/eo/contrib/mathsym/eo_interface/eoSymLambdaMutate.cpp @@ -0,0 +1,29 @@ +#include +#include "FunDef.h" +#include "NodeSelector.h" + +Sym compress(Sym sym, NodeSelector& sel) { + + return ::compress(sym); + + NodeSelector::NodeSelection s = sel.select_node(sym); + + Sym f = SymLambda( s.subtree()); + + if (f == s.subtree()) { return sym; } + + return insert_subtree(sym, s.idx(), f); +} + +extern Sym expand(Sym sym, NodeSelector& sel) { + + return ::expand_all(sym); + + NodeSelector::NodeSelection s = sel.select_node(sym); + + Sym f = SymUnlambda( s.subtree()); + + if (f == s.subtree()) { return sym; } + + return insert_subtree(sym, s.idx(), f); +}