From 4fd8c4e893e6052cf81f440f53d0a3e5d9b37934 Mon Sep 17 00:00:00 2001
From: Philipp Arras <parras@mpa-garching.mpg.de>
Date: Tue, 23 Mar 2021 15:48:16 +0100
Subject: [PATCH] Implemente pre-nonlineariaties

---
 src/operators/operator.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/operators/operator.py b/src/operators/operator.py
index 0768bec1f..965c33bad 100644
--- a/src/operators/operator.py
+++ b/src/operators/operator.py
@@ -330,6 +330,9 @@ class Operator(metaclass=NiftyMeta):
     def ptw(self, op, *args, **kwargs):
         return _OpChain.make((_FunctionApplier(self.target, op, *args, **kwargs), self))
 
+    def ptw_pre(self, op, *args, **kwargs):
+        return _OpChain.make((self, _FunctionApplier(self.domain, op, *args, **kwargs)))
+
 
 for f in pointwise.ptw_dict.keys():
     def func(f):
@@ -337,6 +340,11 @@ for f in pointwise.ptw_dict.keys():
             return self.ptw(f, *args, **kwargs)
         return func2
     setattr(Operator, f, func(f))
+    def func(f):
+        def func2(self, *args, **kwargs):
+            return self.ptw_pre(f, *args, **kwargs)
+        return func2
+    setattr(Operator, f + "_pre", func(f))
 
 
 class _FunctionApplier(Operator):
-- 
GitLab