From 64a2344ed81c343cf6f13ed9faa45bd6e06f16e5 Mon Sep 17 00:00:00 2001
From: Martin Reinecke <martin@mpa-garching.mpg.de>
Date: Mon, 9 Jul 2018 11:32:29 +0200
Subject: [PATCH] Python 2/3 compatibility boilerplate

---
 nifty5/dobj.py                            | 4 ++++
 nifty5/domains/dof_space.py               | 2 ++
 nifty5/domains/domain.py                  | 2 ++
 nifty5/domains/gl_space.py                | 3 ++-
 nifty5/domains/hp_space.py                | 3 ++-
 nifty5/domains/lm_space.py                | 3 ++-
 nifty5/domains/power_space.py             | 2 ++
 nifty5/domains/structured_domain.py       | 2 ++
 nifty5/energies/hamiltonian.py            | 2 ++
 nifty5/extra/operator_tests.py            | 2 ++
 nifty5/library/amplitude_model.py         | 3 ++-
 nifty5/library/apply_data.py              | 4 ++++
 nifty5/library/bernoulli_energy.py        | 3 ++-
 nifty5/library/correlated_fields.py       | 2 ++
 nifty5/library/gaussian_energy.py         | 2 ++
 nifty5/library/los_response.py            | 2 ++
 nifty5/library/point_sources.py           | 2 ++
 nifty5/library/poissonian_energy.py       | 3 ++-
 nifty5/library/wiener_filter_curvature.py | 2 ++
 nifty5/library/wiener_filter_energy.py    | 2 ++
 nifty5/minimization/conjugate_gradient.py | 3 ++-
 nifty5/minimization/descent_minimizer.py  | 3 ++-
 nifty5/minimization/nonlinear_cg.py       | 3 ++-
 nifty5/minimization/scipy_minimizer.py    | 3 ++-
 nifty5/minimization/steepest_descent.py   | 3 ++-
 nifty5/nonlinearities.py                  | 2 ++
 nifty5/operators/scaling_operator.py      | 3 ++-
 nifty5/plotting/plot.py                   | 3 ++-
 nifty5/sugar.py                           | 2 ++
 29 files changed, 62 insertions(+), 13 deletions(-)

diff --git a/nifty5/dobj.py b/nifty5/dobj.py
index 6abb42083..5a5ae948d 100644
--- a/nifty5/dobj.py
+++ b/nifty5/dobj.py
@@ -16,6 +16,10 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from .compat import *
+
+
 try:
     from mpi4py import MPI
     if MPI.COMM_WORLD.Get_size() == 1:
diff --git a/nifty5/domains/dof_space.py b/nifty5/domains/dof_space.py
index 57ce8e8c0..0f81b43e1 100644
--- a/nifty5/domains/dof_space.py
+++ b/nifty5/domains/dof_space.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from .structured_domain import StructuredDomain
 
diff --git a/nifty5/domains/domain.py b/nifty5/domains/domain.py
index 75002a8da..f81eb21ec 100644
--- a/nifty5/domains/domain.py
+++ b/nifty5/domains/domain.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import abc
 from ..utilities import NiftyMetaBase
 
diff --git a/nifty5/domains/gl_space.py b/nifty5/domains/gl_space.py
index 589230daf..83ac6ab1d 100644
--- a/nifty5/domains/gl_space.py
+++ b/nifty5/domains/gl_space.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from .structured_domain import StructuredDomain
 
diff --git a/nifty5/domains/hp_space.py b/nifty5/domains/hp_space.py
index 176fc7529..3833e4180 100644
--- a/nifty5/domains/hp_space.py
+++ b/nifty5/domains/hp_space.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from .structured_domain import StructuredDomain
 
diff --git a/nifty5/domains/lm_space.py b/nifty5/domains/lm_space.py
index 2ed68438d..371d756d4 100644
--- a/nifty5/domains/lm_space.py
+++ b/nifty5/domains/lm_space.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from .structured_domain import StructuredDomain
 from ..field import Field
diff --git a/nifty5/domains/power_space.py b/nifty5/domains/power_space.py
index 0d4ef52c2..f248463ca 100644
--- a/nifty5/domains/power_space.py
+++ b/nifty5/domains/power_space.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from .structured_domain import StructuredDomain
 from .. import dobj
diff --git a/nifty5/domains/structured_domain.py b/nifty5/domains/structured_domain.py
index cfd2a5a46..7218f270e 100644
--- a/nifty5/domains/structured_domain.py
+++ b/nifty5/domains/structured_domain.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import abc
 from .domain import Domain
 import numpy as np
diff --git a/nifty5/energies/hamiltonian.py b/nifty5/energies/hamiltonian.py
index 43af756bb..f378a3a1b 100644
--- a/nifty5/energies/hamiltonian.py
+++ b/nifty5/energies/hamiltonian.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from ..library.gaussian_energy import GaussianEnergy
 from ..minimization.energy import Energy
 from ..models.variable import Variable
diff --git a/nifty5/extra/operator_tests.py b/nifty5/extra/operator_tests.py
index 39db35a44..e234d6e7c 100644
--- a/nifty5/extra/operator_tests.py
+++ b/nifty5/extra/operator_tests.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from ..sugar import from_random
 from ..field import Field
diff --git a/nifty5/library/amplitude_model.py b/nifty5/library/amplitude_model.py
index 552ac59be..c2184598c 100644
--- a/nifty5/library/amplitude_model.py
+++ b/nifty5/library/amplitude_model.py
@@ -1,5 +1,6 @@
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
-
 from ..domains.power_space import PowerSpace
 from ..domains.unstructured_domain import UnstructuredDomain
 from ..field import Field
diff --git a/nifty5/library/apply_data.py b/nifty5/library/apply_data.py
index a051aabef..7b488b581 100644
--- a/nifty5/library/apply_data.py
+++ b/nifty5/library/apply_data.py
@@ -1,3 +1,7 @@
+from __future__ import absolute_import, division, print_function
+from ..compat import *
+
+
 def ApplyData(data, var, model_data):
     # TODO This is rather confusing. Delete that eventually.
     from ..operators.diagonal_operator import DiagonalOperator
diff --git a/nifty5/library/bernoulli_energy.py b/nifty5/library/bernoulli_energy.py
index 7c792c71c..c056b3a7a 100644
--- a/nifty5/library/bernoulli_energy.py
+++ b/nifty5/library/bernoulli_energy.py
@@ -16,8 +16,9 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from numpy import inf, isnan
-
 from ..minimization.energy import Energy
 from ..operators.sandwich_operator import SandwichOperator
 from ..sugar import log, makeOp
diff --git a/nifty5/library/correlated_fields.py b/nifty5/library/correlated_fields.py
index 000189597..a34e1760c 100644
--- a/nifty5/library/correlated_fields.py
+++ b/nifty5/library/correlated_fields.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from ..operators.fft_operator import FFTOperator
 from ..field import Field
 from ..multi.multi_field import MultiField
diff --git a/nifty5/library/gaussian_energy.py b/nifty5/library/gaussian_energy.py
index 3f8e7e880..5f726fccc 100644
--- a/nifty5/library/gaussian_energy.py
+++ b/nifty5/library/gaussian_energy.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from ..minimization.energy import Energy
 from ..operators.sandwich_operator import SandwichOperator
 from ..utilities import memo
diff --git a/nifty5/library/los_response.py b/nifty5/library/los_response.py
index a28105cdc..45be9b47e 100644
--- a/nifty5/library/los_response.py
+++ b/nifty5/library/los_response.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from scipy.special import erfc
 from scipy.sparse import coo_matrix
diff --git a/nifty5/library/point_sources.py b/nifty5/library/point_sources.py
index 97cf28b5c..f6cb54812 100644
--- a/nifty5/library/point_sources.py
+++ b/nifty5/library/point_sources.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from scipy.stats import invgamma, norm
 from ..field import Field
diff --git a/nifty5/library/poissonian_energy.py b/nifty5/library/poissonian_energy.py
index edd63e7e4..4f9108763 100644
--- a/nifty5/library/poissonian_energy.py
+++ b/nifty5/library/poissonian_energy.py
@@ -16,8 +16,9 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from numpy import inf, isnan
-
 from ..minimization.energy import Energy
 from ..operators.sandwich_operator import SandwichOperator
 from ..sugar import log, makeOp
diff --git a/nifty5/library/wiener_filter_curvature.py b/nifty5/library/wiener_filter_curvature.py
index e8a91c5d2..ea8d8244f 100644
--- a/nifty5/library/wiener_filter_curvature.py
+++ b/nifty5/library/wiener_filter_curvature.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from ..operators.sandwich_operator import SandwichOperator
 from ..operators.inversion_enabler import InversionEnabler
 from ..operators.sampling_enabler import SamplingEnabler
diff --git a/nifty5/library/wiener_filter_energy.py b/nifty5/library/wiener_filter_energy.py
index c5b7dbdb1..62f57cfb2 100644
--- a/nifty5/library/wiener_filter_energy.py
+++ b/nifty5/library/wiener_filter_energy.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from ..minimization.quadratic_energy import QuadraticEnergy
 from .wiener_filter_curvature import WienerFilterCurvature
 
diff --git a/nifty5/minimization/conjugate_gradient.py b/nifty5/minimization/conjugate_gradient.py
index 43f4e0781..5974d226b 100644
--- a/nifty5/minimization/conjugate_gradient.py
+++ b/nifty5/minimization/conjugate_gradient.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from .minimizer import Minimizer
 from ..logger import logger
 
diff --git a/nifty5/minimization/descent_minimizer.py b/nifty5/minimization/descent_minimizer.py
index 78ea8544c..eae2e783b 100644
--- a/nifty5/minimization/descent_minimizer.py
+++ b/nifty5/minimization/descent_minimizer.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import abc
 from .minimizer import Minimizer
 from .line_search_strong_wolfe import LineSearchStrongWolfe
diff --git a/nifty5/minimization/nonlinear_cg.py b/nifty5/minimization/nonlinear_cg.py
index ea804ebda..b2db3f726 100644
--- a/nifty5/minimization/nonlinear_cg.py
+++ b/nifty5/minimization/nonlinear_cg.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from .minimizer import Minimizer
 from .line_search_strong_wolfe import LineSearchStrongWolfe
 
diff --git a/nifty5/minimization/scipy_minimizer.py b/nifty5/minimization/scipy_minimizer.py
index 3cf3c1d6e..ed028f74d 100644
--- a/nifty5/minimization/scipy_minimizer.py
+++ b/nifty5/minimization/scipy_minimizer.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from .minimizer import Minimizer
 from ..field import Field
 from .. import dobj
diff --git a/nifty5/minimization/steepest_descent.py b/nifty5/minimization/steepest_descent.py
index 76806f877..77a56436e 100644
--- a/nifty5/minimization/steepest_descent.py
+++ b/nifty5/minimization/steepest_descent.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 from .descent_minimizer import DescentMinimizer
 
 
diff --git a/nifty5/nonlinearities.py b/nifty5/nonlinearities.py
index e206aa6a3..7dff83349 100644
--- a/nifty5/nonlinearities.py
+++ b/nifty5/nonlinearities.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from .compat import *
 from .sugar import full, exp, tanh
 
 
diff --git a/nifty5/operators/scaling_operator.py b/nifty5/operators/scaling_operator.py
index 7f74dab68..f2e659ed7 100644
--- a/nifty5/operators/scaling_operator.py
+++ b/nifty5/operators/scaling_operator.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from ..field import Field
 from ..multi.multi_field import MultiField
diff --git a/nifty5/plotting/plot.py b/nifty5/plotting/plot.py
index e92d810ed..5d52440b0 100644
--- a/nifty5/plotting/plot.py
+++ b/nifty5/plotting/plot.py
@@ -16,7 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
-from __future__ import division
+from __future__ import absolute_import, division, print_function
+from ..compat import *
 import numpy as np
 from ..import Field, RGSpace, HPSpace, GLSpace, PowerSpace, dobj
 import os
diff --git a/nifty5/sugar.py b/nifty5/sugar.py
index 936479556..0fd5d6101 100644
--- a/nifty5/sugar.py
+++ b/nifty5/sugar.py
@@ -16,6 +16,8 @@
 # NIFTy is being developed at the Max-Planck-Institut fuer Astrophysik
 # and financially supported by the Studienstiftung des deutschen Volkes.
 
+from __future__ import absolute_import, division, print_function
+from .compat import *
 import sys
 import numpy as np
 from .domains.power_space import PowerSpace
-- 
GitLab