From 90c1069a2657e5e2a54c871508356f2aa8f63e43 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Mon, 20 Feb 2017 16:07:33 -0800 Subject: [PATCH 01/13] improved setup.py auto-detections --- py/MANIFEST.in | 3 + py/cxx/pytomorun.cxx | 4 + py/cxx/tomographerpy.cxx | 3 + py/setup.py | 182 +++++++++++++++++++++++++++++++++++---- test/CMakeLists.txt | 5 +- 5 files changed, 176 insertions(+), 21 deletions(-) diff --git a/py/MANIFEST.in b/py/MANIFEST.in index 48468f61..6d7a554e 100644 --- a/py/MANIFEST.in +++ b/py/MANIFEST.in @@ -3,3 +3,6 @@ include *.txt # Header files include cxx/tomographerpy/*.h +# Sources +include cxx/*.h +include cxx/*.cxx diff --git a/py/cxx/pytomorun.cxx b/py/cxx/pytomorun.cxx index 885f80aa..f2247625 100644 --- a/py/cxx/pytomorun.cxx +++ b/py/cxx/pytomorun.cxx @@ -5,7 +5,11 @@ #include +#ifdef _OPENMP #include +#else +inline static int omp_get_num_procs() { return 1; } +#endif #include diff --git a/py/cxx/tomographerpy.cxx b/py/cxx/tomographerpy.cxx index 5c78b7ef..9d8616d6 100644 --- a/py/cxx/tomographerpy.cxx +++ b/py/cxx/tomographerpy.cxx @@ -67,6 +67,9 @@ BOOST_PYTHON_MODULE(_tomographer_cxx) // the version of this library module boost::python::scope().attr("__version__") = TOMOGRAPHER_VERSION; + // add info on how tomographer was compiled, so that other modules can use the same + // tools + // Eigen converters register_eigen_converter(); diff --git a/py/setup.py b/py/setup.py index 1b442492..8317e4e7 100644 --- a/py/setup.py +++ b/py/setup.py @@ -1,5 +1,7 @@ #setup.py +from distutils.spawn import find_executable + from setuptools import setup from setuptools.extension import Extension @@ -11,8 +13,9 @@ import numpy # numpy.get_include() + # -# POSSIBLE ENVIRONMENT VARIABLES WHICH CAN BE SET: +# POSSIBLE ENVIRONMENT VARIABLES WHICH CAN BE SET: -- doc printed on standard output anyway # # handled natively by setup.py: # CC=/path/to/compiler/gcc @@ -30,10 +33,64 @@ # + + + thisdir = os.path.dirname(__file__) #print("This dir = {}".format(thisdir)) + + +def find_include_dir(hname, pkgname, testfn=os.path.isdir, return_with_suffix=None): + guesses = [ + # homebrew version + os.path.join('/usr/local/opt', pkgname, 'include'), + # default paths + '/usr/local/include', + '/usr/include', + '/opt/include', + os.path.expanduser('~/.local/include'), + ] + for i in guesses: + dn = os.path.join(i, hname) + if testfn(dn): # found + if return_with_suffix: + return os.path.join(i, return_with_suffix) + return i + + return None + +def find_lib(libname, pkgname, libnamesuffixes=[]): + guesses = [ + # Homebrew version + os.path.join('/usr/local/opt', pkgname, 'lib'), + # default paths + '/usr/local/lib', + '/usr/lib', + '/opt/lib', + '/usr/lib{suffix}/x86_64-linux-gnu', + os.path.expanduser('~/.local/lib'), + ] + is_64bits = sys.maxsize > 2**32 # see https://docs.python.org/2/library/platform.html + libdirsuffixes = ['', '64' if is_64bits else '32'] + for i in guesses: + for s in libdirsuffixes: + if '{suffix' not in i: + i += '{suffix}' + print("i={!r}".format(i)) + basedn = i.format(suffix=s) + # + for lnp in ['lib', '']: # lib-name-prefixes + for lns in libnamesuffixes + ['']: # lib-name-suffixes + for fns in ['.so', '.dylib', '.dll', '.a']: # file name suffixes for library + dn = os.path.join(basedn+s, lnp+libname+lns+fns) + print("find_lib:TRYING dn={!r}".format(dn)) + if os.path.isfile(dn): + return dn + return None + + def ensure_str(s): """ Convert value `s` to a `str`, that is, a byte string on Python 2 and a unicode string @@ -53,7 +110,7 @@ def ensure_str(s): # - default value # class Vars(object): - def __init__(self, cachefile=None, defaults={}): + def __init__(self, cachefile=None, vars=[]): # self.d: values read & cached self.d = {} @@ -61,13 +118,20 @@ def __init__(self, cachefile=None, defaults={}): if cachefile: dc = self._readcache(cachefile) - for k, dfltval in defaults.items(): + for k in vars: if k in os.environ: self.d[k] = os.environ.get(k) elif k in dc: self.d[k] = ensure_str(dc[k]) else: - self.d[k] = ensure_str(dfltval) + self.d[k] = None + + def setDefault(self, k, defvalue): + if k not in self.d or self.d.get(k, None) is None: + if callable(defvalue): + self.d[k] = defvalue() + else: + self.d[k] = defvalue def _readcache(self, cachefile): dc = {} @@ -85,14 +149,47 @@ def get(self, name): cmake_cache_file = os.environ.get('CMAKE_CACHE_FILE', None) -vv = Vars(cmake_cache_file, { - 'GIT': '/usr/bin/git', - 'Boost_INCLUDE_DIR': '/usr/include', - 'Boost_PYTHON_LIBRARY_RELEASE': '/usr/lib/libboost_python.so', - 'EIGEN3_INCLUDE_DIR': '/usr/include', - 'OpenMP_CXX_FLAGS': '-fopenmp', - 'CMAKE_CXX11_STANDARD_COMPILE_OPTION': '-std=c++11', -}) +vv = Vars(cmake_cache_file, [ + 'GIT', + 'Boost_INCLUDE_DIR', + 'Boost_PYTHON_LIBRARY_RELEASE', + 'EIGEN3_INCLUDE_DIR', + 'OpenMP_CXX_FLAGS', + 'CMAKE_CXX11_STANDARD_COMPILE_OPTION' +]) + +# Defaults: GIT +vv.setDefault('GIT', lambda : find_executable('git')) + +# Defaults: Boost stuff +vv.setDefault('Boost_INCLUDE_DIR', lambda : find_include_dir('boost', 'boost')) +vv.setDefault('Boost_PYTHON_LIBRARY_RELEASE', lambda : + find_lib('boost_python', 'boost-python', [ # suffixes: + str(sys.version_info.major)+'-mt', str(sys.version_info.major), '-mt', + '-py{}{}'.format(sys.version_info.major,sys.version_info.minor), + '' + ])) + +# Defaults: Eigen3 +vv.setDefault('EIGEN3_INCLUDE_DIR', lambda : find_include_dir('eigen3', 'eigen', return_with_suffix='eigen3')) + +# Defaults: OpenMP flags +looks_like_clang = False +if 'clang' in os.environ.get('CC',''): + looks_like_clang = True +if sys.platform == 'darwin' and not os.environ.get('CC',''): + looks_like_clang = True +vv.setDefault('OpenMP_CXX_FLAGS', lambda : '-fopenmp=libomp' if looks_like_clang else '-fopenmp') + +# Defaults: C++11 flags +vv.setDefault('CMAKE_CXX11_STANDARD_COMPILE_OPTION', '-std=c++11') + + + +# +# Check which compiler is used, and warn user if a different one is used than +# recorded in the CMake cache file +# CC = '' @@ -105,7 +202,7 @@ def get(self, name): if envCC and envCC != CC: # different compilers specified. print("WARNING: different compilers set in environment ("+envCC+") and in CMake " - "cache file ("+CC+"); the former will be used.") + "cache file ("+CC+"); the former will be used (please set \"CC="+CC+"\" to override).") CXX = '' try: @@ -117,13 +214,17 @@ def get(self, name): if envCXX and envCXX != CXX: # different compilers print("WARNING: different C++ compilers set in environment ("+envCXX+") and in CMake " - "cache file ("+CXX+"); the former will be used.") + "cache file ("+CXX+"); the former will be used (please set \"CXX="+CXX+"\" to override).") + +# +# Tell the user everything. +# print(""" The `tomographer` python package requires some external C++ libraries and compiler features. You may need to specify their location with the use of - environment variables. Current detected values are: + environment variables. Current values are: {}""".format("\n".join([ " {}={}".format(k,v) for k,v in vv.d.items() ]))) @@ -137,14 +238,35 @@ def get(self, name): (read cache file {}) """.format(cmake_cache_file)) -#print("VARIABLE CACHE: ") +if sys.platform == 'darwin': + print(""" + NOTE: Apple's default compiler on Mac OS X does not provide OpenMP. Remember + to install a custom LLVM or GCC if you want to dramatically speed up execution + time. Specify the path to custom compilers with the environment variables "CC" + and "CXX". To compile without OpenMP (and run tasks serially), set + "OpenMP_CXX_FLAGS" to an empty string. + + NOTE: If you're using homebrew, the following will get you started with all + dependencies and homebrew's python3: + + > brew install llvm eigen python3 boost + > brew install boost-python --with-python3 + > CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++ \\ + LDFLAGS='-L/usr/local/opt/llvm/lib' /usr/local/bin/python3 setup.py install +""") + +#print("DEBUG VARIABLE CACHE: ") #for (k,v) in vv.d.items(): # print(" "+k+"="+v) -# figure out version info + +# +# Figure out version info +# + version = None if os.path.exists(os.path.join(thisdir, '..', 'VERSION')): with open('../VERSION') as f: @@ -157,11 +279,24 @@ def get(self, name): def libbasename(x): + if x is None: + return None fn = os.path.splitext(os.path.basename(x))[0] if fn[:3] == 'lib': return fn[3:] return fn +def dirname_or_none(x): + if x is None: + return None + return os.path.dirname(x) + + +# +# Set up the compilation options +# + + include_dirs = [ numpy.get_include(), vv.get("Boost_INCLUDE_DIR"), @@ -173,7 +308,7 @@ def libbasename(x): libbasename(vv.get("Boost_PYTHON_LIBRARY_RELEASE")) ] library_dirs = [ - os.path.dirname(vv.get("Boost_PYTHON_LIBRARY_RELEASE")) + dirname_or_none(vv.get("Boost_PYTHON_LIBRARY_RELEASE")) ] cflags = [ vv.get('CMAKE_CXX11_STANDARD_COMPILE_OPTION'), @@ -207,6 +342,11 @@ def libbasename(x): "common.h" ] ] + +# +# Set up the python package +# + setup(name="tomographer", version=version, description='Tomographer Python Interface', @@ -227,5 +367,9 @@ def libbasename(x): extra_compile_args=cflags, extra_link_args=ldflags, depends=dep_headers), - ] + ], + # install headers in binary distribution + package_data={ + 'tomographer': ['cxx/tomographerpy/*.h'], + } ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9a779cf1..07c48f27 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,11 +49,12 @@ else() endif() # we need to access the expected output patterns. Trailing slash needed. -set(TOMOGRAPHER_TEST_PATTERNS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/patterns/" +file(RELATIVE_PATH REL_TEST_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/" "${CMAKE_CURRENT_SOURCE_DIR}/") +set(TOMOGRAPHER_TEST_PATTERNS_DIR "${REL_TEST_SOURCE_DIR}/patterns/" CACHE STRING "path to the expected test results patterns") add_definitions(-DTOMOGRAPHER_TEST_PATTERNS_DIR="${TOMOGRAPHER_TEST_PATTERNS_DIR}") # we need to access some data. Trailing slash needed. -set(TOMOGRAPHER_TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/data/" +set(TOMOGRAPHER_TEST_DATA_DIR "${REL_TEST_SOURCE_DIR}/data/" CACHE STRING "path to data files required by some tests") add_definitions(-DTOMOGRAPHER_TEST_DATA_DIR="${TOMOGRAPHER_TEST_DATA_DIR}") From d98aaaa6bee268d3aba72ab605fecc3897a5856e Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Mon, 20 Feb 2017 16:16:22 -0800 Subject: [PATCH 02/13] aesthetic fixes --- py/setup.py | 6 +- test/minimal_tomorun.cxx | 4 +- test/test_densedm_distmeasures_common.h | 13 +++-- test/test_densedm_tspacefigofmerit.cxx | 12 +++- test/test_histogram.cxx | 67 ++++++++++++---------- test/test_mhrw_valuehist_tasks.cxx | 2 +- test/test_mhrwtasks.cxx | 2 +- test/test_tomographer.h | 76 +++++++++++++++++++++---- test/test_tools_ezmatio_1.cxx | 6 +- test/test_tools_ezmatio_3.cxx | 14 ++--- test/test_tools_loggers.cxx | 4 +- tomographer/histogram.h | 2 +- tomographer/tools/ezmatio.h | 15 ++--- 13 files changed, 147 insertions(+), 76 deletions(-) diff --git a/py/setup.py b/py/setup.py index 8317e4e7..5641f89f 100644 --- a/py/setup.py +++ b/py/setup.py @@ -78,14 +78,14 @@ def find_lib(libname, pkgname, libnamesuffixes=[]): for s in libdirsuffixes: if '{suffix' not in i: i += '{suffix}' - print("i={!r}".format(i)) + #print("find_lib:TRYING i={!r}".format(i)) basedn = i.format(suffix=s) # for lnp in ['lib', '']: # lib-name-prefixes for lns in libnamesuffixes + ['']: # lib-name-suffixes for fns in ['.so', '.dylib', '.dll', '.a']: # file name suffixes for library dn = os.path.join(basedn+s, lnp+libname+lns+fns) - print("find_lib:TRYING dn={!r}".format(dn)) + #print("find_lib:TRYING dn={!r}".format(dn)) if os.path.isfile(dn): return dn return None @@ -224,7 +224,7 @@ def get(self, name): print(""" The `tomographer` python package requires some external C++ libraries and compiler features. You may need to specify their location with the use of - environment variables. Current values are: + environment variables. Current values (detected or specified manually) are: {}""".format("\n".join([ " {}={}".format(k,v) for k,v in vv.d.items() ]))) diff --git a/test/minimal_tomorun.cxx b/test/minimal_tomorun.cxx index 62272b6c..2d61ec19 100644 --- a/test/minimal_tomorun.cxx +++ b/test/minimal_tomorun.cxx @@ -75,7 +75,7 @@ struct OurCData : public Tomographer::MHRWTasks::ValueHistogramTasks::CDataBase< HistogramParams hist_params, // histogram parameters int binning_num_levels, // number of binning levels in the binning analysis MHRWParamsType mhrw_params, // parameters of the random walk - std::size_t base_seed) // a random seed to initialize the random number generator + int base_seed) // a random seed to initialize the random number generator : CDataBase(valcalc, hist_params, binning_num_levels, mhrw_params, base_seed), llh(llh_) { @@ -245,7 +245,7 @@ int main() ); // seed for random number generator -- just use the current time - auto base_seed = std::chrono::system_clock::now().time_since_epoch().count(); + int base_seed = (int)std::chrono::system_clock::now().time_since_epoch().count(); // number of levels for the binning analysis const int binning_num_levels = 8; diff --git a/test/test_densedm_distmeasures_common.h b/test/test_densedm_distmeasures_common.h index 403dc45e..1a4f7e45 100644 --- a/test/test_densedm_distmeasures_common.h +++ b/test/test_densedm_distmeasures_common.h @@ -99,9 +99,9 @@ struct distmeasures_qubit_fixture case 4: return boost::math::constants::half_root_two(); case 5: - return 0.2; + return OtherRealScalar(0.2); case 6: - return 0.5; + return OtherRealScalar(0.5); default: fprintf(stderr, "INVALID 'which' for test fixture trdist_with_1: %d", which); assert(false); @@ -128,7 +128,10 @@ struct distmeasures_qudit4_fixture distmeasures_qudit4_fixture() : dmt() { - typedef typename DMTypes::ComplexScalar CD; + //typedef typename DMTypes::ComplexScalar CD; + auto CD = [](double re, double im) -> typename DMTypes::ComplexScalar { + return typename DMTypes::ComplexScalar(typename DMTypes::RealScalar(re), typename DMTypes::RealScalar(im)); + }; rho1 << CD(1.895222898432606e-01, + 0.000000000000000e+00), CD(1.084025272341251e-01, + 1.516096020672695e-02), @@ -167,7 +170,7 @@ struct distmeasures_qudit4_fixture case 1: return 1; case 2: - return 7.611036198843356e-01; + return OtherRealScalar(7.611036198843356e-01); default: fprintf(stderr, "INVALID 'which' for test fixture fid_with_1: %d", which); assert(false); @@ -180,7 +183,7 @@ struct distmeasures_qudit4_fixture case 1: return 0; case 2: - return 6.208689785356507e-01; + return OtherRealScalar(6.208689785356507e-01); default: fprintf(stderr, "INVALID 'which' for test fixture trdist_with_1: %d", which); assert(false); diff --git a/test/test_densedm_tspacefigofmerit.cxx b/test/test_densedm_tspacefigofmerit.cxx index 6a5f8c16..398aef51 100644 --- a/test/test_densedm_tspacefigofmerit.cxx +++ b/test/test_densedm_tspacefigofmerit.cxx @@ -179,7 +179,11 @@ BOOST_FIXTURE_TEST_CASE(ObservableValueCalculator_2_d, distmeasures_qubit_fixtur } BOOST_FIXTURE_TEST_CASE(ObservableValueCalculator_2_f, distmeasures_qubit_fixture) { - typedef DMTypes::ComplexScalar Cplx; + // typedef DMTypes::ComplexScalar Cplx; + auto Cplx = [](double re, double im) -> typename DMTypes::ComplexScalar { + return typename DMTypes::ComplexScalar(typename DMTypes::RealScalar(re), typename DMTypes::RealScalar(im)); + }; + MatrixType A; A<< Cplx(5.769321416135639e-01, + 0.000000000000000e+00), Cplx(3.720330764264117e-01, + 3.250735849487777e-01), @@ -196,7 +200,11 @@ BOOST_FIXTURE_TEST_CASE(ObservableValueCalculator_2_f, distmeasures_qubit_fixtur } BOOST_FIXTURE_TEST_CASE(ObservableValueCalculator_4_f, distmeasures_qudit4_fixture) { - typedef DMTypes::ComplexScalar Cplx; + // typedef DMTypes::ComplexScalar Cplx; + auto Cplx = [](double re, double im) -> typename DMTypes::ComplexScalar { + return typename DMTypes::ComplexScalar(typename DMTypes::RealScalar(re), typename DMTypes::RealScalar(im)); + }; + MatrixType A; A << Cplx( 1.668309209270559e+00, - 2.775557561562891e-17), Cplx(-7.439487529186134e-01, - 5.855920232909842e-02), diff --git a/test/test_histogram.cxx b/test/test_histogram.cxx index f0bcd618..67edab8f 100644 --- a/test/test_histogram.cxx +++ b/test/test_histogram.cxx @@ -58,17 +58,17 @@ BOOST_AUTO_TEST_SUITE(uniform_bins_histogram); BOOST_AUTO_TEST_CASE(basic) { Tomographer::UniformBinsHistogram hist(0.0f, 1.0f, 10); - hist.record(0.42323); - hist.record(0.933); - hist.record(0.5); - hist.record(0.55555232); - hist.record(0.4999); - hist.record(0.52); - hist.record(1.2); - - BOOST_CHECK_EQUAL(hist.numBins(), 10); + hist.record(0.42323f); + hist.record(0.933f); + hist.record(0.5f); + hist.record(0.55555232f); + hist.record(0.4999f); + hist.record(0.52f); + hist.record(1.2f); + + BOOST_CHECK_EQUAL(hist.numBins(), 10u); BOOST_CHECK_SMALL(hist.params.min, tol_f); - BOOST_CHECK_CLOSE(hist.params.max, 1.0, tol_percent_f); + BOOST_CHECK_CLOSE(hist.params.max, 1.0f, tol_percent_f); BOOST_CHECK_EQUAL(hist.count(0), 0); BOOST_CHECK_EQUAL(hist.count(1), 0); @@ -102,9 +102,9 @@ BOOST_AUTO_TEST_CASE(boundaries) BOOST_CHECK(!hist.isWithinBounds(std::numeric_limits::infinity())); BOOST_CHECK(!hist.isWithinBounds(-std::numeric_limits::infinity())); - BOOST_CHECK_EQUAL(hist.binIndex(0.13f), 1); - BOOST_CHECK_EQUAL(hist.binIndex(0.99f), 9); - BOOST_CHECK_EQUAL(hist.binIndex(0.34f), 3); + BOOST_CHECK_EQUAL(hist.binIndex(0.13f), 1u); + BOOST_CHECK_EQUAL(hist.binIndex(0.99f), 9u); + BOOST_CHECK_EQUAL(hist.binIndex(0.34f), 3u); BOOST_CHECK_SMALL(hist.binLowerValue(0), tol_f); BOOST_CHECK_CLOSE(hist.binLowerValue(1), 0.1f, tol_percent_f); @@ -165,13 +165,13 @@ BOOST_AUTO_TEST_CASE(values) BOOST_AUTO_TEST_CASE(add_load_reset) { Tomographer::UniformBinsHistogram hist(0.0f, 1.0f, 10); - hist.record(0.42323); - hist.record(0.933); - hist.record(0.5); - hist.record(0.55555232); - hist.record(0.4999); - hist.record(0.52); - hist.record(1.2); + hist.record(0.42323f); + hist.record(0.933f); + hist.record(0.5f); + hist.record(0.55555232f); + hist.record(0.4999f); + hist.record(0.52f); + hist.record(1.2f); Tomographer::UniformBinsHistogram hist2(0.0, 1.0, 10); hist2.add(hist); @@ -179,13 +179,13 @@ BOOST_AUTO_TEST_CASE(add_load_reset) int k; for (k = 0; k < 10; ++k) { - BOOST_CHECK_EQUAL(hist.count(k), hist2.count(k)); + BOOST_CHECK_EQUAL(hist.count(k), (long)hist2.count(k)); } - BOOST_CHECK_EQUAL(hist.off_chart, hist2.off_chart); + BOOST_CHECK_EQUAL(hist.off_chart, (long)hist2.off_chart); hist2.load(Eigen::Matrix::Constant(80)); for (k = 0; k < 10; ++k) { - BOOST_CHECK_EQUAL(hist2.count(k), 80); + BOOST_CHECK_EQUAL(hist2.count(k), 80u); } Eigen::Matrix m; @@ -195,7 +195,7 @@ BOOST_AUTO_TEST_CASE(add_load_reset) hist2.load(m, 42); MY_BOOST_CHECK_EIGEN_EQUAL(hist2.bins, m, tol); - BOOST_CHECK_EQUAL(hist2.off_chart, 42); + BOOST_CHECK_EQUAL(hist2.off_chart, 42u); Eigen::Matrix m2; (m2 << 0, 0, 0, 10, 10, @@ -203,12 +203,12 @@ BOOST_AUTO_TEST_CASE(add_load_reset) hist2.add(m2.array()); MY_BOOST_CHECK_EIGEN_EQUAL(hist2.bins, m+m2, tol); - BOOST_CHECK_EQUAL(hist2.off_chart, 42); + BOOST_CHECK_EQUAL(hist2.off_chart, 42u); hist2.reset(); auto zeros = Eigen::Array::Zero(); MY_BOOST_CHECK_EIGEN_EQUAL(hist2.bins, zeros, tol); - BOOST_CHECK_EQUAL(hist2.off_chart, 0); + BOOST_CHECK_EQUAL(hist2.off_chart, 0u); } @@ -264,7 +264,7 @@ BOOST_AUTO_TEST_CASE(normalized) auto n = hist.normalization(); MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol); MY_BOOST_CHECK_FLOATS_EQUAL(hn.off_chart, 10.0/n, tol); - MY_BOOST_CHECK_FLOATS_EQUAL(hn.normalization(), 1.f, tol_f); + MY_BOOST_CHECK_FLOATS_EQUAL(hn.normalization(), 1.0, tol); } } @@ -362,6 +362,8 @@ BOOST_AUTO_TEST_CASE(normalized) 10 ); auto hn = hist.normalized(); auto n = hist.normalization(); + TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; + TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol_f); MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol_f); MY_BOOST_CHECK_FLOATS_EQUAL(hn.off_chart, 10.f/n, tol_f); @@ -372,11 +374,14 @@ BOOST_AUTO_TEST_CASE(normalized) inline_vector_4(0, 1, 4, 3), 10 ); auto hn = hist.normalized(); + // the x-axis Scalar doesn't change, it's the count type that does. + TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; + TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; auto n = hist.normalization(); MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol); - MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol_f); + MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol); MY_BOOST_CHECK_FLOATS_EQUAL(hn.off_chart, 10.0/n, tol); - MY_BOOST_CHECK_FLOATS_EQUAL(hn.normalization(), 1.f, tol_f); + MY_BOOST_CHECK_FLOATS_EQUAL(hn.normalization(), 1.0, tol); } } @@ -401,7 +406,7 @@ BOOST_AUTO_TEST_CASE(no_underlying_error_bars) BOOST_CHECK_SMALL(avghist.params.min, tol); BOOST_CHECK_CLOSE(avghist.params.max, 1.0, tol_percent); - BOOST_CHECK_EQUAL(avghist.numBins(), 4); + BOOST_CHECK_EQUAL(avghist.numBins(), 4u); { SimpleHistogramType hist(p); hist.load( inline_vector_4(15, 45, 42, 12) , 36 ); // sum=150 @@ -443,7 +448,7 @@ BOOST_AUTO_TEST_CASE(with_underlying_error_bars) BOOST_CHECK_SMALL(avghist.params.min, tol); BOOST_CHECK_CLOSE(avghist.params.max, 1.0, tol_percent); - BOOST_CHECK_EQUAL(avghist.numBins(), 4); + BOOST_CHECK_EQUAL(avghist.numBins(), 4u); { BaseHistogramType hist(p); hist.load( inline_vector_4(15, 45, 42, 12) , diff --git a/test/test_mhrw_valuehist_tasks.cxx b/test/test_mhrw_valuehist_tasks.cxx index 2c57947c..ab57dc19 100644 --- a/test/test_mhrw_valuehist_tasks.cxx +++ b/test/test_mhrw_valuehist_tasks.cxx @@ -440,7 +440,7 @@ struct NormValueCalculator NormValueCalculator() { } template - inline ValueType getValue(PointType && x) const { return x.norm(); } + inline ValueType getValue(PointType && x) const { return x.template cast().norm(); } }; template diff --git a/test/test_mhrwtasks.cxx b/test/test_mhrwtasks.cxx index cd726f81..cabcef5f 100644 --- a/test/test_mhrwtasks.cxx +++ b/test/test_mhrwtasks.cxx @@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE(get_task_inputs) std::sort(inputs.begin(), inputs.end()); auto last = std::unique(inputs.begin(), inputs.end()); BOOST_CHECK(last == inputs.end()); - BOOST_CHECK_EQUAL(inputs.size(), 1024); + BOOST_CHECK_EQUAL(inputs.size(), 1024u); } BOOST_AUTO_TEST_SUITE_END(); // cdatabase diff --git a/test/test_tomographer.h b/test/test_tomographer.h index a76784fd..d7beb4dd 100644 --- a/test/test_tomographer.h +++ b/test/test_tomographer.h @@ -39,11 +39,11 @@ #include #include -#include -#include +#include #include #include +#include // define the exception class, but don't override eigen's eigen_assert() macro itself #include @@ -153,6 +153,26 @@ struct setting_scope +// internal -- useful when we compile with -Wconversion for picky debugging, but still +// want to allow constants passed to FixCommaInitializer to not generate tons of warnings +template +struct conv_to_scalar { + static inline Scalar conv(const Arg& x) { + return (Scalar)(x); + } +}; +template +struct conv_to_scalar, Arg> { + static inline std::complex conv(const Arg& x) { + return std::complex((RealScalar)x, 0); + } +}; +template +struct conv_to_scalar, std::complex > { + static inline std::complex conv(const std::complex& x) { + return std::complex((RealScalar)x.real(), (RealScalar)x.imag()); + } +}; // more eigen magic ... override the CommaInitializer class to fix a bug where the // destructor could generate an assertion failure while handling a prior exception, which @@ -164,10 +184,12 @@ struct FixCommaInitializer { typedef typename XprType::Scalar Scalar; - FixCommaInitializer(XprType& xpr, const Scalar& s) + + template + FixCommaInitializer(XprType& xpr, const T& s) : m_xpr(xpr), m_row(0), m_col(1), m_currentBlockRows(1) { - m_xpr.coeffRef(0,0) = s; + m_xpr.coeffRef(0,0) = conv_to_scalar::conv(s); } FixCommaInitializer(FixCommaInitializer&& o) @@ -179,7 +201,8 @@ struct FixCommaInitializer } /* inserts a scalar value in the target matrix */ - FixCommaInitializer& operator,(const Scalar& s) + template + FixCommaInitializer& operator,(const T& s) { if (m_col==m_xpr.cols()) { @@ -192,7 +215,7 @@ struct FixCommaInitializer eigen_assert(m_col::conv(s); return *this; } @@ -228,10 +251,36 @@ operator<<(Eigen::DenseBase & m, const Scalar& s) } +template +struct maybe_complex { typedef RealScalar type; }; +template +struct maybe_complex { typedef std::complex type; }; +template +struct PromotedScalars +{ + typedef decltype( typename PromotedScalars::RealScalar(1) + + typename PromotedScalars::RealScalar(1) ) RealScalar; + typedef std::complex ComplexScalar; + static constexpr bool IsComplex = PromotedScalars::IsComplex || PromotedScalars::IsComplex ; - + typedef typename maybe_complex::type Scalar; +}; +template +struct PromotedScalars +{ + typedef Scalar0 RealScalar; + typedef std::complex ComplexScalar; + static constexpr bool IsComplex = false; +}; +template +struct PromotedScalars > +{ + typedef RealScalar0 RealScalar; + typedef std::complex ComplexScalar; + static constexpr bool IsComplex = true; +}; #include @@ -243,10 +292,10 @@ operator<<(Eigen::DenseBase & m, const Scalar& s) # define BOOST_CHECKPOINT(msg) BOOST_TEST_CHECKPOINT(msg) #endif -template +template boost::test_tools::predicate_result check_eigen_dense_equal(const Eigen::DenseBase & a, const Eigen::DenseBase & b, - const double tol) // tol is absolute tolerance + const TolType tol) // tol is absolute tolerance { BOOST_MESSAGE("Comparing two Eigen dense objects."); @@ -267,12 +316,17 @@ check_eigen_dense_equal(const Eigen::DenseBase & a, const Eigen::Dense a_eval = a; b_eval = b; - typedef decltype(typename Derived1::Scalar(0) + typename Derived2::Scalar(0)) PromotedScalar; + // make sure it's at least 'double' + typedef PromotedScalars + PromotedScalars; + typedef typename PromotedScalars::Scalar PromotedScalar; Eigen::Array diff = a_eval.template cast() - b_eval.template cast(); - if (diff.isMuchSmallerThan(1.0f, tol)) { + typedef typename PromotedScalars::RealScalar PromotedRealScalar; + + if (diff.isMuchSmallerThan(PromotedRealScalar(1), PromotedRealScalar(tol))) { return true; } boost::test_tools::predicate_result res(false); diff --git a/test/test_tools_ezmatio_1.cxx b/test/test_tools_ezmatio_1.cxx index 2f2057b9..f1a80b64 100644 --- a/test/test_tools_ezmatio_1.cxx +++ b/test/test_tools_ezmatio_1.cxx @@ -46,7 +46,7 @@ BOOST_AUTO_TEST_CASE(basic) typedef Tomographer::MAT::DimList DimList; DimList dims{{3, 4, 5}}; const std::vector ok{{3, 4, 5}}; - BOOST_CHECK_EQUAL(dims.size(), 3); + BOOST_CHECK_EQUAL(dims.size(), 3u); BOOST_CHECK_EQUAL(dims.ndims(), 3); BOOST_CHECK_EQUAL(dims.numel(), 3*4*5); BOOST_CHECK(dims == ok); @@ -160,7 +160,7 @@ BOOST_AUTO_TEST_CASE(IndexListIterator1) for (std::size_t j = 0; j < (std::size_t)it.numel(); ++j) { BOOST_CHECK(it.valid()); - BOOST_CHECK_EQUAL(it.linearIndex(), j); + BOOST_CHECK_EQUAL((long)it.linearIndex(), (long)j); BOOST_MESSAGE("j = " << j << ", index=" << it) ; @@ -190,7 +190,7 @@ BOOST_AUTO_TEST_CASE(IndexListIterator2) for (std::size_t j = 0; j < (std::size_t)it.numel(); ++j) { BOOST_CHECK(it.valid()); - BOOST_CHECK_EQUAL(it.linearIndex(), j); + BOOST_CHECK_EQUAL((long)it.linearIndex(), (long)j); std::vector indlist(dims.size()); std::size_t jj = j; diff --git a/test/test_tools_ezmatio_3.cxx b/test/test_tools_ezmatio_3.cxx index 2c12f8a8..8f6ada65 100644 --- a/test/test_tools_ezmatio_3.cxx +++ b/test/test_tools_ezmatio_3.cxx @@ -46,7 +46,7 @@ BOOST_AUTO_TEST_CASE(mu32_3x3) Tomographer::MAT::Var var = f.var("mu32_3x3"); typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(), 1); + BOOST_CHECK_EQUAL(m.size(), 1u); Eigen::Matrix ok; ok << 1, 1, 1, 2, 2, 2, 4294967295lu, 0, 0 ; MY_BOOST_CHECK_EIGEN_EQUAL(m[0], ok, tol); @@ -57,7 +57,7 @@ BOOST_AUTO_TEST_CASE(mcd_2x2x3) typedef std::complex Cd; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(),3); + BOOST_CHECK_EQUAL(m.size(), 3u); Eigen::Matrix ok1; ok1 << Cd(0), Cd(1), @@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(mcd_2x2x3_rowmaj) typedef std::complex Cd; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(),3); + BOOST_CHECK_EQUAL(m.size(), 3u); Eigen::Matrix ok1; ok1 << Cd(0), Cd(1), @@ -103,7 +103,7 @@ BOOST_AUTO_TEST_CASE(mcf_2x2x3) typedef std::complex Cf; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(),3); + BOOST_CHECK_EQUAL(m.size(), 3u); Eigen::Matrix ok1; ok1 << Cf(0), Cf(1), @@ -126,7 +126,7 @@ BOOST_AUTO_TEST_CASE(mf_2x3x2) typedef std::complex Cf; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(), 2); + BOOST_CHECK_EQUAL(m.size(), 2u); Eigen::Matrix ok0; ok0 << 1.f, 4.f, -2.5f, @@ -144,7 +144,7 @@ BOOST_AUTO_TEST_CASE(mcd_2x3x2x2) typedef std::complex Cd; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(),4); + BOOST_CHECK_EQUAL(m.size(), 4u); Eigen::Matrix ok0; ok0 << 1, Cd(0,1), Cd(0,-1), @@ -172,7 +172,7 @@ BOOST_AUTO_TEST_CASE(mcd_2x3x2x2_rowmaj) typedef std::complex Cd; typedef Tomographer::Tools::EigenStdVector >::type MyType; MyType m = var.value(); - BOOST_CHECK_EQUAL(m.size(),4); + BOOST_CHECK_EQUAL(m.size(), 4u); Eigen::Matrix ok0; ok0 << 1, Cd(0,1), Cd(0,-1), diff --git a/test/test_tools_loggers.cxx b/test/test_tools_loggers.cxx index 95a458df..ca6efc9f 100644 --- a/test/test_tools_loggers.cxx +++ b/test/test_tools_loggers.cxx @@ -466,8 +466,8 @@ BOOST_AUTO_TEST_CASE(minseverity) std::string recorded; DummyLoggerMinSeverity logger(Tomographer::Logger::DEBUG, &recorded); - BOOST_CHECK_EQUAL(Tomographer::Logger::LoggerTraits::StaticMinimumSeverityLevel, - Tomographer::Logger::WARNING); // what we declared above + BOOST_CHECK_EQUAL((int)Tomographer::Logger::LoggerTraits::StaticMinimumSeverityLevel, + (int)Tomographer::Logger::WARNING); // what we declared above BOOST_CHECK(DummyLoggerMinSeverity::staticallyEnabledFor()); BOOST_CHECK(DummyLoggerMinSeverity::staticallyEnabledFor()); diff --git a/tomographer/histogram.h b/tomographer/histogram.h index adf8afe8..9d21812c 100644 --- a/tomographer/histogram.h +++ b/tomographer/histogram.h @@ -427,7 +427,7 @@ class UniformBinsHistogram * \f] * */ - template + template inline NewCountType normalization() const { // DON'T DO NewCountType(binResolution())*NewCountType(bins.sum()) as we may loose diff --git a/tomographer/tools/ezmatio.h b/tomographer/tools/ezmatio.h index 1b078819..2958981a 100644 --- a/tomographer/tools/ezmatio.h +++ b/tomographer/tools/ezmatio.h @@ -1364,7 +1364,7 @@ class VarValueDecoder::value)> static inline RetType get_value(const matvar_t * matvar_ptr, const std::string & ) { - return (RetType) ((const MATType *) matvar_ptr->data)[0]; + return RetType( ((const MATType *) matvar_ptr->data)[0] ); } template::value)> static inline RetType get_value(const matvar_t * matvar_ptr, const std::string & ) { - return RetType( ((const MATType *) matvar_ptr->data)[0], + return RetType( typename Tools::ComplexRealScalar::type(((const MATType *) matvar_ptr->data)[0]), 0 ); } @@ -1392,8 +1392,8 @@ class VarValueDecoder::type MATRealType; const mat_complex_split_t * cdata = (mat_complex_split_t*) matvar_ptr->data; - return RetType( ((const MATRealType *) cdata->Re)[0], - ((const MATRealType *) cdata->Im)[0] ); + return RetType( typename Tools::ComplexRealScalar::type( ((const MATRealType *) cdata->Re)[0] ), + typename Tools::ComplexRealScalar::type( ((const MATRealType *) cdata->Im)[0] ) ); } }; @@ -1450,7 +1450,7 @@ class VarMatDataAccessor // real value. std::size_t lin = linear_index(std::forward(index)); - return p_r_ptr[lin]; + return (OutType)p_r_ptr[lin]; } template(index)); - return OutType( p_r_ptr[lin] , 0 ); + return OutType( typename Eigen::NumTraits::Real(p_r_ptr[lin]) , 0 ); } template(index)); - return OutType(p_cre_ptr[lin], p_cim_ptr[lin]); + return OutType( typename Eigen::NumTraits::Real(p_cre_ptr[lin]), + typename Eigen::NumTraits::Real(p_cim_ptr[lin]) ); } private: From 6691ee188867bc69b13f4ee3f8b168cd390959a2 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Mon, 20 Feb 2017 16:30:28 -0800 Subject: [PATCH 03/13] fix python version string --- py/setup.py | 56 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/py/setup.py b/py/setup.py index 5641f89f..594194f9 100644 --- a/py/setup.py +++ b/py/setup.py @@ -217,11 +217,41 @@ def get(self, name): "cache file ("+CXX+"); the former will be used (please set \"CXX="+CXX+"\" to override).") +# +# Figure out version info +# + +version = None +if os.path.exists(os.path.join(thisdir, '..', 'VERSION')): + with open('../VERSION') as f: + version = ensure_str(f.read()).strip() +try: + version = ensure_str(subprocess.check_output([vv.get('GIT'), 'describe', '--tags', 'HEAD'])).strip() +except Exception as e: + print("ERROR: Can't retrieve the current code version.") + raise +# Normalize version string for PIP/setuptools +pip_version = version +# remove initial 'v' in 'v3.1' +if pip_version[0] == 'v': + pip_version = pip_version[1:] +# make PEP-440 compatible if it is a specific git-describe commit number +m = re.match(r'^(?P.*)-(?P\d+)-(?Pg[a-fA-F0-9]+)$', pip_version) +if m: + pip_version = "{vtag}+git{ncommits}.{githash}".format(**m.groupdict()) + + + + # # Tell the user everything. # print(""" + Welcome to the setup.py script for Tomographer {version} ({pip_version}). +""".format(version=version, pip_version=pip_version)) + +print("""\ The `tomographer` python package requires some external C++ libraries and compiler features. You may need to specify their location with the use of environment variables. Current values (detected or specified manually) are: @@ -240,19 +270,22 @@ def get(self, name): if sys.platform == 'darwin': print(""" - NOTE: Apple's default compiler on Mac OS X does not provide OpenMP. Remember + NOTE: Apple's default compiler on Mac OS X does not support OpenMP. Remember to install a custom LLVM or GCC if you want to dramatically speed up execution time. Specify the path to custom compilers with the environment variables "CC" and "CXX". To compile without OpenMP (and run tasks serially), set "OpenMP_CXX_FLAGS" to an empty string. - NOTE: If you're using homebrew, the following will get you started with all - dependencies and homebrew's python3: + + NOTE: If you're using homebrew, the following commands will get you started + with homebrew's python3 along with all the required dependencies: > brew install llvm eigen python3 boost > brew install boost-python --with-python3 > CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++ \\ - LDFLAGS='-L/usr/local/opt/llvm/lib' /usr/local/bin/python3 setup.py install + LDFLAGS='-L/usr/lib -L/usr/local/opt/llvm/lib' \\ + /usr/local/bin/python3 setup.py install + """) #print("DEBUG VARIABLE CACHE: ") @@ -264,20 +297,9 @@ def get(self, name): # -# Figure out version info +# Utilities for passing on the options below # -version = None -if os.path.exists(os.path.join(thisdir, '..', 'VERSION')): - with open('../VERSION') as f: - version = ensure_str(f.read()).strip() -try: - version = ensure_str(subprocess.check_output([vv.get('GIT'), 'describe', '--tags', 'HEAD'])).strip() -except Exception as e: - print("ERROR: Can't retrieve the current code version.") - raise - - def libbasename(x): if x is None: return None @@ -348,7 +370,7 @@ def dirname_or_none(x): # setup(name="tomographer", - version=version, + version=pip_version, description='Tomographer Python Interface', author='Philippe Faist', author_email='phfaist@caltech.edu', From 4e2c7591bde7cefcea00e2a5af785bb77b361163 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Mon, 20 Feb 2017 16:58:12 -0800 Subject: [PATCH 04/13] added version_info --- py/cxx/tomographerpy.cxx | 16 ++++++++++++++++ py/setup.py | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/py/cxx/tomographerpy.cxx b/py/cxx/tomographerpy.cxx index 9d8616d6..42824a36 100644 --- a/py/cxx/tomographerpy.cxx +++ b/py/cxx/tomographerpy.cxx @@ -66,6 +66,22 @@ BOOST_PYTHON_MODULE(_tomographer_cxx) // the version of this library module boost::python::scope().attr("__version__") = TOMOGRAPHER_VERSION; + // add a version submodule with more precise version info + logger.debug("version module ... "); + boost::python::object versionmod(boost::python::borrowed(PyImport_AddModule("tomographer.version"))); + boost::python::scope().attr("version") = versionmod; + { + // now inside submodule + boost::python::scope versionmodule(versionmod); + versionmod.attr("version_str") = TOMOGRAPHER_VERSION; + auto collections = boost::python::import("collections"); + auto namedtuple = collections.attr("namedtuple"); + boost::python::list verfields; + verfields.append("major"); + verfields.append("minor"); + auto VersionInfoTuple = namedtuple("VersionInfo", verfields); + versionmod.attr("version_info") = VersionInfoTuple(TOMOGRAPHER_VERSION_MAJ, TOMOGRAPHER_VERSION_MIN); + } // add info on how tomographer was compiled, so that other modules can use the same // tools diff --git a/py/setup.py b/py/setup.py index 594194f9..a91b4113 100644 --- a/py/setup.py +++ b/py/setup.py @@ -230,6 +230,12 @@ def get(self, name): except Exception as e: print("ERROR: Can't retrieve the current code version.") raise + +# major/minor sections of version +m = re.match(r'^v(?P\d+)\.(?P\d+)', version) +version_maj = int(m.group('major')) +version_min = int(m.group('minor')) + # Normalize version string for PIP/setuptools pip_version = version # remove initial 'v' in 'v3.1' @@ -336,6 +342,8 @@ def dirname_or_none(x): vv.get('CMAKE_CXX11_STANDARD_COMPILE_OPTION'), vv.get("OpenMP_CXX_FLAGS"), '-DTOMOGRAPHER_VERSION=\"{}\"'.format(version), + '-DTOMOGRAPHER_VERSION_MAJ={}'.format(version_maj), + '-DTOMOGRAPHER_VERSION_MIN={}'.format(version_min), ] ldflags = [ vv.get("OpenMP_CXX_FLAGS"), From 05695c76427dac0ed987fe8a5f273baa91b7b1ce Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Mon, 20 Feb 2017 17:36:36 -0800 Subject: [PATCH 05/13] fix for gcc4.6 --- py/MANIFEST.in | 4 ++++ py/setup.py | 3 ++- test/test_tomographer.h | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/py/MANIFEST.in b/py/MANIFEST.in index 6d7a554e..2266d572 100644 --- a/py/MANIFEST.in +++ b/py/MANIFEST.in @@ -6,3 +6,7 @@ include cxx/tomographerpy/*.h # Sources include cxx/*.h include cxx/*.cxx + +# doesn't work +# include ../tomographer/*/*.h +# include ../tomographer/*.h diff --git a/py/setup.py b/py/setup.py index a91b4113..07193e78 100644 --- a/py/setup.py +++ b/py/setup.py @@ -401,5 +401,6 @@ def dirname_or_none(x): # install headers in binary distribution package_data={ 'tomographer': ['cxx/tomographerpy/*.h'], - } + }, + #include_package_data=True, ) diff --git a/test/test_tomographer.h b/test/test_tomographer.h index d7beb4dd..a2b54a98 100644 --- a/test/test_tomographer.h +++ b/test/test_tomographer.h @@ -257,8 +257,12 @@ template struct maybe_complex { typedef std::complex type; }; +template +struct PromotedScalars { +}; +// workaround for GCC 4.6: this needs to be a specialization -- see http://stackoverflow.com/a/2118537/1694896 template -struct PromotedScalars +struct PromotedScalars { typedef decltype( typename PromotedScalars::RealScalar(1) + typename PromotedScalars::RealScalar(1) ) RealScalar; From 8758f1d9a16f20da4690ec337f18011cb55b128a Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 12:16:18 -0800 Subject: [PATCH 06/13] fix for gcc4.6? --- test/test_histogram.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/test_histogram.cxx b/test/test_histogram.cxx index 67edab8f..dd5a2134 100644 --- a/test/test_histogram.cxx +++ b/test/test_histogram.cxx @@ -362,8 +362,10 @@ BOOST_AUTO_TEST_CASE(normalized) 10 ); auto hn = hist.normalized(); auto n = hist.normalization(); - TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; - TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; + typedef std::is_same test1td; + TOMO_STATIC_ASSERT_EXPR(test1td::value) ; + typedef std::is_same test2td; + TOMO_STATIC_ASSERT_EXPR(test2td::value) ; MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol_f); MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol_f); MY_BOOST_CHECK_FLOATS_EQUAL(hn.off_chart, 10.f/n, tol_f); @@ -375,8 +377,10 @@ BOOST_AUTO_TEST_CASE(normalized) 10 ); auto hn = hist.normalized(); // the x-axis Scalar doesn't change, it's the count type that does. - TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; - TOMO_STATIC_ASSERT_EXPR(std::is_same::value) ; + typedef std::is_same td1; + TOMO_STATIC_ASSERT_EXPR(td1::value) ; + typedef std::is_same td2; + TOMO_STATIC_ASSERT_EXPR(td2::value) ; auto n = hist.normalization(); MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol); MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol); From 486f8fa068cba794737c279186e5de621b81d654 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 13:51:23 -0800 Subject: [PATCH 07/13] new fix for gcc4.6? --- test/test_histogram.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/test_histogram.cxx b/test/test_histogram.cxx index dd5a2134..3ed3fb4d 100644 --- a/test/test_histogram.cxx +++ b/test/test_histogram.cxx @@ -354,6 +354,12 @@ BOOST_AUTO_TEST_CASE(load_reset) BOOST_CHECK_EQUAL(hist2.off_chart, 0); } +#if __GNUC__ == 4 && __GNUC_MINOR__ <= 6 && !defined(__clang__) +#define IS_GCC_4_6 1 +#else +#define IS_GCC_4_6 0 +#endif + BOOST_AUTO_TEST_CASE(normalized) { { Tomographer::UniformBinsHistogramWithErrorBars hist(0.0f, 4.0f, 4); @@ -362,10 +368,12 @@ BOOST_AUTO_TEST_CASE(normalized) 10 ); auto hn = hist.normalized(); auto n = hist.normalization(); +#if ! IS_GCC_4_6 // gcc 4.6 doesn't like decltype(...) it appears: typedef std::is_same test1td; TOMO_STATIC_ASSERT_EXPR(test1td::value) ; typedef std::is_same test2td; TOMO_STATIC_ASSERT_EXPR(test2td::value) ; +#endif MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol_f); MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol_f); MY_BOOST_CHECK_FLOATS_EQUAL(hn.off_chart, 10.f/n, tol_f); @@ -377,10 +385,12 @@ BOOST_AUTO_TEST_CASE(normalized) 10 ); auto hn = hist.normalized(); // the x-axis Scalar doesn't change, it's the count type that does. +#if ! IS_GCC_4_6 // gcc 4.6 doesn't like decltype(...) it appears: typedef std::is_same td1; TOMO_STATIC_ASSERT_EXPR(td1::value) ; typedef std::is_same td2; TOMO_STATIC_ASSERT_EXPR(td2::value) ; +#endif auto n = hist.normalization(); MY_BOOST_CHECK_EIGEN_EQUAL(hn.bins, inline_vector_4(0, 3, 19, 24)/n, tol); MY_BOOST_CHECK_EIGEN_EQUAL(hn.delta, inline_vector_4(0, 1, 4, 3)/n, tol); From 944eed393029761fcbda8eb7b15c9ef3dc50bc28 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 14:32:36 -0800 Subject: [PATCH 08/13] README update --- README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index acc24627..f0f67ea8 100644 --- a/README.md +++ b/README.md @@ -66,19 +66,18 @@ anything else. To compile `tomorun` from source, you'll need: - - a recent C++ compiler (g++ >= 4.6, Intel ICC >= 14, LLVM/Clang++ >= 3.8) - - [CMake >= 3.1](http://www.cmake.org/) - - [Boost libraries >= 1.40](http://www.boost.org/) - - [Eigen3 library >= 3.3](http://eigen.tuxfamily.org/) + - a recent C++ compiler (g++ ≥ 4.6, Intel ICC ≥ 14, LLVM/Clang++ ≥ 3.8) + - [CMake ≥ 3.1](http://www.cmake.org/) + - [Boost libraries ≥ 1.40](http://www.boost.org/) + - [Eigen3 library ≥ 3.3](http://eigen.tuxfamily.org/) - [MatIO library](https://sourceforge.net/projects/matio/) To compile the python interface, you'll need: - - a recent C++ compiler (g++ >= 4.6, Intel ICC >= 14, LLVM/Clang++ >= 3.8) - - [CMake >= 3.1](http://www.cmake.org/) - - [Boost libraries >= 1.40, which includes boost::python](http://www.boost.org/) - - [Python 2 or Python 3](http://www.python.org/) - - [Eigen3 library >= 3.3](http://eigen.tuxfamily.org/) + - a recent C++ compiler (g++ ≥ 4.6, Intel ICC ≥ 14, LLVM/Clang++ ≥ 3.8) + - [Boost libraries ≥ 1.40, which includes boost::python](http://www.boost.org/) + - [Python 2.7 or Python 3](http://www.python.org/) + - [Eigen3 library ≥ 3.3](http://eigen.tuxfamily.org/) In both cases a recent C++ compiler is required as some C++11 features and elements of its standard library are used. Also, make sure it supports OpenMP or @@ -97,7 +96,7 @@ It is then ready for use. The rest of this section concerns compiling Tomographer/Tomorun from source. The configuration, compilation and installation process is done using CMake. -(You'll need CMake >= 3.1. Don't worry, it's easy [install a binary +(You'll need CMake ≥ 3.1. Don't worry, it's easy [install a binary release](https://cmake.org/download/).) Download an official release of Tomographer, unpack it, and enter the unpacked directory. Then, issue the commands: @@ -251,7 +250,7 @@ existing code as much as possible. The API documentation of the Tomographer C++ Framework can be found [here][tomographer_apidoc]. You can also build the API documentation of the -Tomographer C++ Framework using [Doxygen >= 1.8][doxygen]. You'll also need +Tomographer C++ Framework using [Doxygen ≥ 1.8][doxygen]. You'll also need `dot` (from the `graphviz` suite). To build the documentation, simply run tomographer-X.X/build> make doc From 05950e848782f0462b8bf2703804509a7555ff53 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 14:46:39 -0800 Subject: [PATCH 09/13] update README --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index f0f67ea8..be3c2954 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,17 @@ elements of its standard library are used. Also, make sure it supports OpenMP or you won't benefit from parallelization. If you use LLVM/Clang++, you might need to install additional packages for OpenMP (e.g. `libomp`). +NOTE: Apple's default compiler does not support OpenMP. To avoid tomographer +from running tasks serially, you should install a recent version of LLVM/clang +or g++ manually. + +Apple Mac OS X with [homebrew](https://brew.sh): the following commands will get +you started with all the prerequisites and with homebrew's python3. + + > brew tap homebrew/science + > brew install llvm eigen python3 libmatio boost + > brew install boost-python --with-python3 + Tested on Linux/Ubuntu, Mac OS X and Windows (MinGW32). From e2778db8a85a4d57a7f4d81b15f5fc98d2f36eba Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 16:40:40 -0800 Subject: [PATCH 10/13] updated copyright info --- tomorun/tomorun_opts.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tomorun/tomorun_opts.h b/tomorun/tomorun_opts.h index 8d3ab933..976324b3 100644 --- a/tomorun/tomorun_opts.h +++ b/tomorun/tomorun_opts.h @@ -4,7 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist - * Copyright (c) 2016 Caltech + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -43,8 +43,8 @@ static const std::string prog_version_info_1 = static const std::string prog_version_info_2 = "by Philippe Faist, Institute for Quantum Information and Matter, Caltech\n" - "Copyright (c) 2016 ETH Zurich\n" - "Copyright (c) 2016 Caltech\n" + "Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist\n" + "Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist\n" "Released under the terms of the MIT License (see LICENSE.txt)\n"; static const std::string prog_version_info = prog_version_info_1 + prog_version_info_2; From 9a33631b5f7db7eebd8c1b9f68bd9e2c9f7aaedf Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Tue, 21 Feb 2017 23:39:25 -0800 Subject: [PATCH 11/13] started updated copyright notices --- CMakeLists.txt | 4 ++-- LICENSE.txt | 3 ++- README.md | 3 ++- cmake/Util.cmake | 4 ++-- doc/doxdocs/mainpage.cxx | 3 ++- doc/doxdocs/namespaces.cxx | 3 ++- doc/doxdocs/page_debugging.cxx | 3 ++- doc/doxdocs/page_loggers.cxx | 3 ++- 8 files changed, 16 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e8a6616c..d891dc71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/LICENSE.txt b/LICENSE.txt index 38a5e51c..f654803a 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,7 +1,8 @@ The MIT License (MIT) -Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index be3c2954..4632f132 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ Authors, Copyright, License Author: Philippe Faist, phfaist@caltech.edu. Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist -Copyright (c) 2016 Caltech, Philippe Faist + +Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist Released under the terms of the MIT License (see file LICENSE.txt) diff --git a/cmake/Util.cmake b/cmake/Util.cmake index f7f577b1..4fb431ef 100644 --- a/cmake/Util.cmake +++ b/cmake/Util.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/mainpage.cxx b/doc/doxdocs/mainpage.cxx index e29cd987..0b242b96 100644 --- a/doc/doxdocs/mainpage.cxx +++ b/doc/doxdocs/mainpage.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/namespaces.cxx b/doc/doxdocs/namespaces.cxx index 938947b3..ac84a4d6 100644 --- a/doc/doxdocs/namespaces.cxx +++ b/doc/doxdocs/namespaces.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_debugging.cxx b/doc/doxdocs/page_debugging.cxx index 27a71e78..0bc210b9 100644 --- a/doc/doxdocs/page_debugging.cxx +++ b/doc/doxdocs/page_debugging.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_loggers.cxx b/doc/doxdocs/page_loggers.cxx index 90cf2eab..9e142d15 100644 --- a/doc/doxdocs/page_loggers.cxx +++ b/doc/doxdocs/page_loggers.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal From 06570d5be926a0141a088bc34cdb5d3006f78464 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Wed, 22 Feb 2017 00:08:42 -0800 Subject: [PATCH 12/13] updated copyright notices --- cmake/CreateDoxyfile.cmake | 4 +-- cmake/FindEigen3.cmake | 1 + cmake/FindMatIO.cmake | 4 +-- cmake/FindNumPy.cmake | 2 +- cmake/FindSphinx.cmake | 26 ++++++++++++++++++ cmake/TomographerVersion.cmake | 4 +-- cmake/UpdateTomographerGitVersion.cmake | 4 +-- cmake/UpdateTomographerVersionHeader.cmake | 4 +-- doc/Doxyfile.in | 4 +-- doc/doxdocs/page_task_manager_dispatcher.cxx | 3 ++- doc/doxdocs/page_theory.cxx | 3 ++- doc/doxdocs/page_tomorun.cxx | 3 ++- doc/doxdocs/page_type_interfaces.cxx | 3 ++- doc/doxdocs/page_type_interfaces_densedm.cxx | 3 ++- doc/doxdocs/page_write_custom_logger.cxx | 3 ++- doc/doxy_footer.html | 3 ++- doc/tomographer_extra_css.css | 3 ++- doc/tomographer_script_setup.js | 3 ++- doc/tomographerlatexstyle.sty | 4 +-- py/CMakeLists.txt | 5 ++-- py/cxx/common_p.h | 26 ++++++++++++++++++ py/cxx/eigpyconv.cxx | 27 +++++++++++++++++++ py/cxx/pydensedm.cxx | 27 +++++++++++++++++++ py/cxx/pyhistogram.cxx | 27 +++++++++++++++++++ py/cxx/pymhrw.cxx | 27 +++++++++++++++++++ py/cxx/pymhrwtasks.cxx | 27 +++++++++++++++++++ py/cxx/pymultiproc.cxx | 27 +++++++++++++++++++ py/cxx/pytomorun.cxx | 27 +++++++++++++++++++ py/cxx/tomographerpy.cxx | 27 +++++++++++++++++++ py/cxx/tomographerpy/common.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/eigpyconv.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/exc.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pydensedm.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pyhistogram.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pylogger.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pymhrw.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pymhrwtasks.h | 26 ++++++++++++++++++ py/cxx/tomographerpy/pymultiproc.h | 26 ++++++++++++++++++ py/setup.py | 27 ++++++++++++++++++- test/CMakeLists.txt | 5 ++-- test/minimal_tomorun.cxx | 1 + test/test_densedm_distmeasures.cxx | 1 + test/test_densedm_distmeasures_common.h | 26 ++++++++++++++++++ test/test_densedm_dmtypes.cxx | 1 + test/test_densedm_indepmeasllh.cxx | 1 + test/test_densedm_param_common.h | 26 ++++++++++++++++++ test/test_densedm_param_herm_x.cxx | 1 + test/test_densedm_param_rho_a.cxx | 1 + test/test_densedm_tspacefigofmerit.cxx | 1 + test/test_densedm_tspacellhwalker.cxx | 1 + test/test_header.cxx.skeleton | 1 + test/test_histogram.cxx | 3 ++- test/test_mathtools_check_derivatives.cxx | 1 + test/test_mathtools_pos_semidef_util.cxx | 1 + test/test_mathtools_random_unitary.cxx | 1 + test/test_mathtools_simple_find_zero.cxx | 3 ++- test/test_mathtools_solveclyap.cxx | 1 + test/test_mathtools_sphcoords.cxx | 3 ++- test/test_mh_random_walk_common.h | 3 ++- test/test_mhrw.cxx | 3 ++- test/test_mhrw_bin_err.cxx | 3 ++- test/test_mhrw_valuehist_tasks.cxx | 1 + test/test_mhrwstatscollectors.cxx | 1 + test/test_mhrwtasks.cxx | 1 + test/test_multi_tasks_common.h | 3 ++- test/test_multiproc.cxx | 1 + test/test_multiprocomp.cxx | 1 + test/test_tomographer.cxx | 3 ++- test/test_tomographer.h | 3 ++- test/test_tools_conststr.cxx | 3 ++- test/test_tools_cxxutil.cxx | 3 ++- test/test_tools_eigen_assert_exception.cxx | 1 + test/test_tools_eigenutil.cxx | 1 + test/test_tools_ezmatio_1.cxx | 3 ++- test/test_tools_ezmatio_2.cxx | 3 ++- test/test_tools_ezmatio_3.cxx | 3 ++- test/test_tools_ezmatio_common.h | 3 ++- test/test_tools_ezmatio_mkdatafile.m | 26 ++++++++++++++++++ test/test_tools_fmt.cxx | 1 + test/test_tools_loggers.cxx | 3 ++- test/test_tools_needownoperatornew.cxx | 1 + test/test_valuecalculator.cxx | 1 + test/test_zzzcombinations.cxx | 1 + ...tomorun_1qubit_analytic_solution_check.cxx | 3 ++- ..._tomorun_1qubit_analytic_solution_mkdata.m | 4 +-- tomographer/CMakeLists.txt | 4 +-- tomographer/densedm/densellh.h | 1 + tomographer/densedm/distmeasures.h | 1 + tomographer/densedm/dmtypes.h | 3 ++- tomographer/densedm/indepmeasllh.h | 3 ++- tomographer/densedm/param_herm_x.h | 3 ++- tomographer/densedm/param_rho_a.h | 3 ++- tomographer/densedm/tspacefigofmerit.h | 1 + tomographer/densedm/tspacellhwalker.h | 1 + tomographer/histogram.h | 3 ++- tomographer/mathtools/check_derivatives.h | 3 ++- tomographer/mathtools/pos_semidef_util.h | 3 ++- tomographer/mathtools/random_unitary.h | 3 ++- tomographer/mathtools/simple_find_zero.h | 3 ++- tomographer/mathtools/solveclyap.h | 3 ++- tomographer/mathtools/sphcoords.h | 3 ++- tomographer/mhrw.h | 3 ++- tomographer/mhrw_bin_err.h | 3 ++- tomographer/mhrw_valuehist_tasks.h | 1 + tomographer/mhrwstatscollectors.h | 1 + tomographer/mhrwtasks.h | 3 ++- tomographer/multiproc.h | 3 ++- tomographer/multiprocomp.h | 3 ++- tomographer/tomographer_version.h.in | 3 ++- tomographer/tools/boost_test_logger.h | 1 + tomographer/tools/conststr.h | 3 ++- tomographer/tools/cxxutil.h | 3 ++- tomographer/tools/eigen_assert_exception.h | 3 ++- tomographer/tools/eigenutil.h | 3 ++- tomographer/tools/ezmatio.h | 3 ++- tomographer/tools/fmt.h | 3 ++- tomographer/tools/loggers.h | 3 ++- tomographer/tools/needownoperatornew.h | 1 + tomographer/tools/signal_handler.h | 1 + tomographer/tools/signal_status_report.h | 1 + tomographer/valuecalculator.h | 1 + tomorun/CMakeLists.txt | 4 +-- tomorun/tomorun.cxx | 1 + tomorun/tomorun_config.h | 3 ++- tomorun/tomorun_dispatch.h | 3 ++- 125 files changed, 772 insertions(+), 80 deletions(-) diff --git a/cmake/CreateDoxyfile.cmake b/cmake/CreateDoxyfile.cmake index b25ddde2..768179ff 100644 --- a/cmake/CreateDoxyfile.cmake +++ b/cmake/CreateDoxyfile.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/cmake/FindEigen3.cmake b/cmake/FindEigen3.cmake index 7c5702ee..ef0707cb 100644 --- a/cmake/FindEigen3.cmake +++ b/cmake/FindEigen3.cmake @@ -13,6 +13,7 @@ # Copyright (c) 2006, 2007 Montel Laurent, # Copyright (c) 2008, 2009 Gael Guennebaud, # Copyright (c) 2009 Benoit Jacob +# # Redistribution and use is allowed according to the terms of the 2-clause BSD # license: # diff --git a/cmake/FindMatIO.cmake b/cmake/FindMatIO.cmake index 55b070df..5ffaf43f 100644 --- a/cmake/FindMatIO.cmake +++ b/cmake/FindMatIO.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/cmake/FindNumPy.cmake b/cmake/FindNumPy.cmake index c3ffcc06..3f65fd64 100644 --- a/cmake/FindNumPy.cmake +++ b/cmake/FindNumPy.cmake @@ -15,7 +15,7 @@ # NUMPY_INCLUDE_DIRS - path to the NumPy include files #============================================================================ -# Copyright 2012 Continuum Analytics, Inc. +# Copyright (c) 2012 Continuum Analytics, Inc. # # MIT License # diff --git a/cmake/FindSphinx.cmake b/cmake/FindSphinx.cmake index 1492732b..9b0be44c 100644 --- a/cmake/FindSphinx.cmake +++ b/cmake/FindSphinx.cmake @@ -1,3 +1,29 @@ +# This file is part of the Tomographer project, which is distributed under the +# terms of the MIT license. +# +# The MIT License (MIT) +# +# Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + find_program(SPHINX_BUILD_COMMAND diff --git a/cmake/TomographerVersion.cmake b/cmake/TomographerVersion.cmake index ec045225..53ca2a6c 100644 --- a/cmake/TomographerVersion.cmake +++ b/cmake/TomographerVersion.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/cmake/UpdateTomographerGitVersion.cmake b/cmake/UpdateTomographerGitVersion.cmake index d2a28639..8b09202e 100644 --- a/cmake/UpdateTomographerGitVersion.cmake +++ b/cmake/UpdateTomographerGitVersion.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/cmake/UpdateTomographerVersionHeader.cmake b/cmake/UpdateTomographerVersionHeader.cmake index 49f0232a..f9c8fade 100644 --- a/cmake/UpdateTomographerVersionHeader.cmake +++ b/cmake/UpdateTomographerVersionHeader.cmake @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 8b890266..e87b187c 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -5,8 +5,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_task_manager_dispatcher.cxx b/doc/doxdocs/page_task_manager_dispatcher.cxx index ee384821..601136ba 100644 --- a/doc/doxdocs/page_task_manager_dispatcher.cxx +++ b/doc/doxdocs/page_task_manager_dispatcher.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_theory.cxx b/doc/doxdocs/page_theory.cxx index 24b3ffca..ef31983f 100644 --- a/doc/doxdocs/page_theory.cxx +++ b/doc/doxdocs/page_theory.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_tomorun.cxx b/doc/doxdocs/page_tomorun.cxx index d6d6a055..5c34fb37 100644 --- a/doc/doxdocs/page_tomorun.cxx +++ b/doc/doxdocs/page_tomorun.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_type_interfaces.cxx b/doc/doxdocs/page_type_interfaces.cxx index e72294ef..4fb4575e 100644 --- a/doc/doxdocs/page_type_interfaces.cxx +++ b/doc/doxdocs/page_type_interfaces.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_type_interfaces_densedm.cxx b/doc/doxdocs/page_type_interfaces_densedm.cxx index 53b0c4e3..f68e602c 100644 --- a/doc/doxdocs/page_type_interfaces_densedm.cxx +++ b/doc/doxdocs/page_type_interfaces_densedm.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxdocs/page_write_custom_logger.cxx b/doc/doxdocs/page_write_custom_logger.cxx index 7aa35fd8..63939c75 100644 --- a/doc/doxdocs/page_write_custom_logger.cxx +++ b/doc/doxdocs/page_write_custom_logger.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/doxy_footer.html b/doc/doxy_footer.html index b8a5829f..2cf2e55f 100644 --- a/doc/doxy_footer.html +++ b/doc/doxy_footer.html @@ -4,7 +4,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/tomographer_extra_css.css b/doc/tomographer_extra_css.css index 16506ac8..36793a77 100644 --- a/doc/tomographer_extra_css.css +++ b/doc/tomographer_extra_css.css @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/tomographer_script_setup.js b/doc/tomographer_script_setup.js index 02425b73..9112edba 100644 --- a/doc/tomographer_script_setup.js +++ b/doc/tomographer_script_setup.js @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/doc/tomographerlatexstyle.sty b/doc/tomographerlatexstyle.sty index 8779c28f..d7f27ddf 100644 --- a/doc/tomographerlatexstyle.sty +++ b/doc/tomographerlatexstyle.sty @@ -3,8 +3,8 @@ % % The MIT License (MIT) % -% Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -% Faist +% Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +% Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the "Software"), to deal diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt index 722fcd85..4b28f2d7 100644 --- a/py/CMakeLists.txt +++ b/py/CMakeLists.txt @@ -3,9 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist -# Copyright (c) 2016 Caltech, Philippe Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/py/cxx/common_p.h b/py/cxx/common_p.h index 5ee6f2d9..41439a33 100644 --- a/py/cxx/common_p.h +++ b/py/cxx/common_p.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef TOMOPY_COMMON_P_H diff --git a/py/cxx/eigpyconv.cxx b/py/cxx/eigpyconv.cxx index 99e1f56c..0a687adf 100644 --- a/py/cxx/eigpyconv.cxx +++ b/py/cxx/eigpyconv.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include "tomographerpy/common.h" diff --git a/py/cxx/pydensedm.cxx b/py/cxx/pydensedm.cxx index 2ff8cdd7..ce136e40 100644 --- a/py/cxx/pydensedm.cxx +++ b/py/cxx/pydensedm.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include diff --git a/py/cxx/pyhistogram.cxx b/py/cxx/pyhistogram.cxx index f5f15d5d..8f98bf5a 100644 --- a/py/cxx/pyhistogram.cxx +++ b/py/cxx/pyhistogram.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include "tomographerpy/common.h" #include "tomographerpy/pyhistogram.h" diff --git a/py/cxx/pymhrw.cxx b/py/cxx/pymhrw.cxx index c989e5bf..d3a7e15c 100644 --- a/py/cxx/pymhrw.cxx +++ b/py/cxx/pymhrw.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include #include diff --git a/py/cxx/pymhrwtasks.cxx b/py/cxx/pymhrwtasks.cxx index 42002900..78b6ff96 100644 --- a/py/cxx/pymhrwtasks.cxx +++ b/py/cxx/pymhrwtasks.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include diff --git a/py/cxx/pymultiproc.cxx b/py/cxx/pymultiproc.cxx index 890bfcd4..4645a61e 100644 --- a/py/cxx/pymultiproc.cxx +++ b/py/cxx/pymultiproc.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include #include diff --git a/py/cxx/pytomorun.cxx b/py/cxx/pytomorun.cxx index f2247625..f2e9b2ba 100644 --- a/py/cxx/pytomorun.cxx +++ b/py/cxx/pytomorun.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include "tomographerpy/common.h" diff --git a/py/cxx/tomographerpy.cxx b/py/cxx/tomographerpy.cxx index 42824a36..a17d6b7e 100644 --- a/py/cxx/tomographerpy.cxx +++ b/py/cxx/tomographerpy.cxx @@ -1,3 +1,30 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + #include "tomographerpy/common.h" #include "common_p.h" diff --git a/py/cxx/tomographerpy/common.h b/py/cxx/tomographerpy/common.h index e2565566..613a165c 100644 --- a/py/cxx/tomographerpy/common.h +++ b/py/cxx/tomographerpy/common.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef TOMOPY_COMMON_H #define TOMOPY_COMMON_H diff --git a/py/cxx/tomographerpy/eigpyconv.h b/py/cxx/tomographerpy/eigpyconv.h index b4616fe5..eb7c357e 100644 --- a/py/cxx/tomographerpy/eigpyconv.h +++ b/py/cxx/tomographerpy/eigpyconv.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef EIGPYCONV_H #define EIGPYCONV_H diff --git a/py/cxx/tomographerpy/exc.h b/py/cxx/tomographerpy/exc.h index 23614916..4bc8e1c1 100644 --- a/py/cxx/tomographerpy/exc.h +++ b/py/cxx/tomographerpy/exc.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef TOMOGRAPHERPY_EXC_H #define TOMOGRAPHERPY_EXC_H diff --git a/py/cxx/tomographerpy/pydensedm.h b/py/cxx/tomographerpy/pydensedm.h index 74e598f6..cebc03eb 100644 --- a/py/cxx/tomographerpy/pydensedm.h +++ b/py/cxx/tomographerpy/pydensedm.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef PYDENSEDM_H #define PYDENSEDM_H diff --git a/py/cxx/tomographerpy/pyhistogram.h b/py/cxx/tomographerpy/pyhistogram.h index b2a9e2c0..ea85d2e0 100644 --- a/py/cxx/tomographerpy/pyhistogram.h +++ b/py/cxx/tomographerpy/pyhistogram.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef PY_HISTOGRAM_H #define PY_HISTOGRAM_H diff --git a/py/cxx/tomographerpy/pylogger.h b/py/cxx/tomographerpy/pylogger.h index d3fa6f37..076281d8 100644 --- a/py/cxx/tomographerpy/pylogger.h +++ b/py/cxx/tomographerpy/pylogger.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef TOMOGRAPHER_PY_PYLOGGER_H diff --git a/py/cxx/tomographerpy/pymhrw.h b/py/cxx/tomographerpy/pymhrw.h index d8f9e669..c7d15827 100644 --- a/py/cxx/tomographerpy/pymhrw.h +++ b/py/cxx/tomographerpy/pymhrw.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef TOMOGRAPHERPY_MHRW_H #define TOMOGRAPHERPY_MHRW_H diff --git a/py/cxx/tomographerpy/pymhrwtasks.h b/py/cxx/tomographerpy/pymhrwtasks.h index e3767177..01714f5b 100644 --- a/py/cxx/tomographerpy/pymhrwtasks.h +++ b/py/cxx/tomographerpy/pymhrwtasks.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef PYMHRWTASKS_H #define PYMHRWTASKS_H diff --git a/py/cxx/tomographerpy/pymultiproc.h b/py/cxx/tomographerpy/pymultiproc.h index 8e3f88aa..cd5b6f2e 100644 --- a/py/cxx/tomographerpy/pymultiproc.h +++ b/py/cxx/tomographerpy/pymultiproc.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #ifndef PYMULTIPROC_H #define PYMULTIPROC_H diff --git a/py/setup.py b/py/setup.py index 07193e78..06f33a3a 100644 --- a/py/setup.py +++ b/py/setup.py @@ -1,4 +1,29 @@ -#setup.py +# This file is part of the Tomographer project, which is distributed under the +# terms of the MIT license. +# +# The MIT License (MIT) +# +# Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + from distutils.spawn import find_executable diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 07c48f27..28282fc9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,9 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist -# Copyright (c) 2016 Caltech, Philippe Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/test/minimal_tomorun.cxx b/test/minimal_tomorun.cxx index 2d61ec19..5447f4d2 100644 --- a/test/minimal_tomorun.cxx +++ b/test/minimal_tomorun.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_distmeasures.cxx b/test/test_densedm_distmeasures.cxx index 6b8dd60b..f55efc2d 100644 --- a/test/test_densedm_distmeasures.cxx +++ b/test/test_densedm_distmeasures.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_distmeasures_common.h b/test/test_densedm_distmeasures_common.h index 1a4f7e45..c1594eb0 100644 --- a/test/test_densedm_distmeasures_common.h +++ b/test/test_densedm_distmeasures_common.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #include diff --git a/test/test_densedm_dmtypes.cxx b/test/test_densedm_dmtypes.cxx index ec8e23ae..01004091 100644 --- a/test/test_densedm_dmtypes.cxx +++ b/test/test_densedm_dmtypes.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_indepmeasllh.cxx b/test/test_densedm_indepmeasllh.cxx index ae1dfe41..e2219a47 100644 --- a/test/test_densedm_indepmeasllh.cxx +++ b/test/test_densedm_indepmeasllh.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_param_common.h b/test/test_densedm_param_common.h index d410a2f5..719ca555 100644 --- a/test/test_densedm_param_common.h +++ b/test/test_densedm_param_common.h @@ -1,3 +1,29 @@ +/* This file is part of the Tomographer project, which is distributed under the + * terms of the MIT license. + * + * The MIT License (MIT) + * + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ #include diff --git a/test/test_densedm_param_herm_x.cxx b/test/test_densedm_param_herm_x.cxx index b997e16e..e2f3452f 100644 --- a/test/test_densedm_param_herm_x.cxx +++ b/test/test_densedm_param_herm_x.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_param_rho_a.cxx b/test/test_densedm_param_rho_a.cxx index fa178c72..86d580dd 100644 --- a/test/test_densedm_param_rho_a.cxx +++ b/test/test_densedm_param_rho_a.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_tspacefigofmerit.cxx b/test/test_densedm_tspacefigofmerit.cxx index 398aef51..e8a0650a 100644 --- a/test/test_densedm_tspacefigofmerit.cxx +++ b/test/test_densedm_tspacefigofmerit.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_densedm_tspacellhwalker.cxx b/test/test_densedm_tspacellhwalker.cxx index cbc1679f..4e68f92b 100644 --- a/test/test_densedm_tspacellhwalker.cxx +++ b/test/test_densedm_tspacellhwalker.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_header.cxx.skeleton b/test/test_header.cxx.skeleton index 2e7d67c1..06f121dc 100644 --- a/test/test_header.cxx.skeleton +++ b/test/test_header.cxx.skeleton @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_histogram.cxx b/test/test_histogram.cxx index 3ed3fb4d..98995632 100644 --- a/test/test_histogram.cxx +++ b/test/test_histogram.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_check_derivatives.cxx b/test/test_mathtools_check_derivatives.cxx index 8e47075b..83b11beb 100644 --- a/test/test_mathtools_check_derivatives.cxx +++ b/test/test_mathtools_check_derivatives.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_pos_semidef_util.cxx b/test/test_mathtools_pos_semidef_util.cxx index 94ae4b60..65aced85 100644 --- a/test/test_mathtools_pos_semidef_util.cxx +++ b/test/test_mathtools_pos_semidef_util.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_random_unitary.cxx b/test/test_mathtools_random_unitary.cxx index 7376f2dc..5ed7e7ae 100644 --- a/test/test_mathtools_random_unitary.cxx +++ b/test/test_mathtools_random_unitary.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_simple_find_zero.cxx b/test/test_mathtools_simple_find_zero.cxx index e40a1067..5f55dec3 100644 --- a/test/test_mathtools_simple_find_zero.cxx +++ b/test/test_mathtools_simple_find_zero.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_solveclyap.cxx b/test/test_mathtools_solveclyap.cxx index dd8d96f5..e4d5fec7 100644 --- a/test/test_mathtools_solveclyap.cxx +++ b/test/test_mathtools_solveclyap.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mathtools_sphcoords.cxx b/test/test_mathtools_sphcoords.cxx index 704525e0..d9207293 100644 --- a/test/test_mathtools_sphcoords.cxx +++ b/test/test_mathtools_sphcoords.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mh_random_walk_common.h b/test/test_mh_random_walk_common.h index a608f74b..e1d27e7e 100644 --- a/test/test_mh_random_walk_common.h +++ b/test/test_mh_random_walk_common.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mhrw.cxx b/test/test_mhrw.cxx index 214867a7..a7457d30 100644 --- a/test/test_mhrw.cxx +++ b/test/test_mhrw.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mhrw_bin_err.cxx b/test/test_mhrw_bin_err.cxx index 13d46511..91184011 100644 --- a/test/test_mhrw_bin_err.cxx +++ b/test/test_mhrw_bin_err.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mhrw_valuehist_tasks.cxx b/test/test_mhrw_valuehist_tasks.cxx index ab57dc19..fbdcaf35 100644 --- a/test/test_mhrw_valuehist_tasks.cxx +++ b/test/test_mhrw_valuehist_tasks.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mhrwstatscollectors.cxx b/test/test_mhrwstatscollectors.cxx index defdc940..caf97e21 100644 --- a/test/test_mhrwstatscollectors.cxx +++ b/test/test_mhrwstatscollectors.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_mhrwtasks.cxx b/test/test_mhrwtasks.cxx index cabcef5f..3e43c9b7 100644 --- a/test/test_mhrwtasks.cxx +++ b/test/test_mhrwtasks.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_multi_tasks_common.h b/test/test_multi_tasks_common.h index 5414b170..7443a6da 100644 --- a/test/test_multi_tasks_common.h +++ b/test/test_multi_tasks_common.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_multiproc.cxx b/test/test_multiproc.cxx index 2beee4a0..36db410f 100644 --- a/test/test_multiproc.cxx +++ b/test/test_multiproc.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_multiprocomp.cxx b/test/test_multiprocomp.cxx index b4f65af0..a31d61d8 100644 --- a/test/test_multiprocomp.cxx +++ b/test/test_multiprocomp.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tomographer.cxx b/test/test_tomographer.cxx index 34584408..9264417a 100644 --- a/test/test_tomographer.cxx +++ b/test/test_tomographer.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tomographer.h b/test/test_tomographer.h index a2b54a98..babb4571 100644 --- a/test/test_tomographer.h +++ b/test/test_tomographer.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_conststr.cxx b/test/test_tools_conststr.cxx index 9325fee0..a10dbdd2 100644 --- a/test/test_tools_conststr.cxx +++ b/test/test_tools_conststr.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_cxxutil.cxx b/test/test_tools_cxxutil.cxx index b5f401a2..73ac8b38 100644 --- a/test/test_tools_cxxutil.cxx +++ b/test/test_tools_cxxutil.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_eigen_assert_exception.cxx b/test/test_tools_eigen_assert_exception.cxx index 40cfd655..293ecbe8 100644 --- a/test/test_tools_eigen_assert_exception.cxx +++ b/test/test_tools_eigen_assert_exception.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_eigenutil.cxx b/test/test_tools_eigenutil.cxx index c43fd3a9..9125d9c0 100644 --- a/test/test_tools_eigenutil.cxx +++ b/test/test_tools_eigenutil.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_ezmatio_1.cxx b/test/test_tools_ezmatio_1.cxx index f1a80b64..cb51aaa2 100644 --- a/test/test_tools_ezmatio_1.cxx +++ b/test/test_tools_ezmatio_1.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_ezmatio_2.cxx b/test/test_tools_ezmatio_2.cxx index f0cb2377..72e06a05 100644 --- a/test/test_tools_ezmatio_2.cxx +++ b/test/test_tools_ezmatio_2.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_ezmatio_3.cxx b/test/test_tools_ezmatio_3.cxx index 8f6ada65..9fca530b 100644 --- a/test/test_tools_ezmatio_3.cxx +++ b/test/test_tools_ezmatio_3.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_ezmatio_common.h b/test/test_tools_ezmatio_common.h index b927934f..adcf2a4c 100644 --- a/test/test_tools_ezmatio_common.h +++ b/test/test_tools_ezmatio_common.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_ezmatio_mkdatafile.m b/test/test_tools_ezmatio_mkdatafile.m index b9218c81..3e9d9fe9 100644 --- a/test/test_tools_ezmatio_mkdatafile.m +++ b/test/test_tools_ezmatio_mkdatafile.m @@ -1,3 +1,29 @@ +% This file is part of the Tomographer project, which is distributed under the +% terms of the MIT license. +% +% The MIT License (MIT) +% +% Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +% Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the "Software"), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in +% all copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. + d = struct; diff --git a/test/test_tools_fmt.cxx b/test/test_tools_fmt.cxx index a9a262b2..24ee3220 100644 --- a/test/test_tools_fmt.cxx +++ b/test/test_tools_fmt.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_loggers.cxx b/test/test_tools_loggers.cxx index ca6efc9f..0dab022a 100644 --- a/test/test_tools_loggers.cxx +++ b/test/test_tools_loggers.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_tools_needownoperatornew.cxx b/test/test_tools_needownoperatornew.cxx index edf40b94..9bf28239 100644 --- a/test/test_tools_needownoperatornew.cxx +++ b/test/test_tools_needownoperatornew.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_valuecalculator.cxx b/test/test_valuecalculator.cxx index daf107e5..c67a1334 100644 --- a/test/test_valuecalculator.cxx +++ b/test/test_valuecalculator.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/test_zzzcombinations.cxx b/test/test_zzzcombinations.cxx index 91963e04..96dd29c4 100644 --- a/test/test_zzzcombinations.cxx +++ b/test/test_zzzcombinations.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/tomorun/test_tomorun_1qubit_analytic_solution_check.cxx b/test/tomorun/test_tomorun_1qubit_analytic_solution_check.cxx index ce2ccdb0..afa63a59 100644 --- a/test/tomorun/test_tomorun_1qubit_analytic_solution_check.cxx +++ b/test/tomorun/test_tomorun_1qubit_analytic_solution_check.cxx @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/test/tomorun/test_tomorun_1qubit_analytic_solution_mkdata.m b/test/tomorun/test_tomorun_1qubit_analytic_solution_mkdata.m index b5a0d45e..74b4e06a 100644 --- a/test/tomorun/test_tomorun_1qubit_analytic_solution_mkdata.m +++ b/test/tomorun/test_tomorun_1qubit_analytic_solution_mkdata.m @@ -3,8 +3,8 @@ % % The MIT License (MIT) % -% Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -% Faist +% Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +% Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/CMakeLists.txt b/tomographer/CMakeLists.txt index 0d94b1d4..3f7af62c 100644 --- a/tomographer/CMakeLists.txt +++ b/tomographer/CMakeLists.txt @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/densellh.h b/tomographer/densedm/densellh.h index fbaa259b..e1acd69d 100644 --- a/tomographer/densedm/densellh.h +++ b/tomographer/densedm/densellh.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/distmeasures.h b/tomographer/densedm/distmeasures.h index 82f473e5..7e64f2d0 100644 --- a/tomographer/densedm/distmeasures.h +++ b/tomographer/densedm/distmeasures.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/dmtypes.h b/tomographer/densedm/dmtypes.h index 24c470b2..33ecfb6f 100644 --- a/tomographer/densedm/dmtypes.h +++ b/tomographer/densedm/dmtypes.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/indepmeasllh.h b/tomographer/densedm/indepmeasllh.h index 8d6f9ae1..9cf98184 100644 --- a/tomographer/densedm/indepmeasllh.h +++ b/tomographer/densedm/indepmeasllh.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/param_herm_x.h b/tomographer/densedm/param_herm_x.h index 71958a79..e86f5d74 100644 --- a/tomographer/densedm/param_herm_x.h +++ b/tomographer/densedm/param_herm_x.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/param_rho_a.h b/tomographer/densedm/param_rho_a.h index 39e06852..a746f5ad 100644 --- a/tomographer/densedm/param_rho_a.h +++ b/tomographer/densedm/param_rho_a.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/tspacefigofmerit.h b/tomographer/densedm/tspacefigofmerit.h index 1b114175..1e9c2d1b 100644 --- a/tomographer/densedm/tspacefigofmerit.h +++ b/tomographer/densedm/tspacefigofmerit.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/densedm/tspacellhwalker.h b/tomographer/densedm/tspacellhwalker.h index a19a84c0..e9351fd8 100644 --- a/tomographer/densedm/tspacellhwalker.h +++ b/tomographer/densedm/tspacellhwalker.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/histogram.h b/tomographer/histogram.h index 9d21812c..f1d5bdac 100644 --- a/tomographer/histogram.h +++ b/tomographer/histogram.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/check_derivatives.h b/tomographer/mathtools/check_derivatives.h index cec494b7..91cc6e24 100644 --- a/tomographer/mathtools/check_derivatives.h +++ b/tomographer/mathtools/check_derivatives.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/pos_semidef_util.h b/tomographer/mathtools/pos_semidef_util.h index 5d55ea1f..54fef832 100644 --- a/tomographer/mathtools/pos_semidef_util.h +++ b/tomographer/mathtools/pos_semidef_util.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/random_unitary.h b/tomographer/mathtools/random_unitary.h index 8618b05d..b6d4cd06 100644 --- a/tomographer/mathtools/random_unitary.h +++ b/tomographer/mathtools/random_unitary.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/simple_find_zero.h b/tomographer/mathtools/simple_find_zero.h index ab9fad0d..56b50e27 100644 --- a/tomographer/mathtools/simple_find_zero.h +++ b/tomographer/mathtools/simple_find_zero.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/solveclyap.h b/tomographer/mathtools/solveclyap.h index a57c0969..68301a84 100644 --- a/tomographer/mathtools/solveclyap.h +++ b/tomographer/mathtools/solveclyap.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mathtools/sphcoords.h b/tomographer/mathtools/sphcoords.h index d450a27a..84ce627f 100644 --- a/tomographer/mathtools/sphcoords.h +++ b/tomographer/mathtools/sphcoords.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mhrw.h b/tomographer/mhrw.h index dc664b9e..29da9c4d 100644 --- a/tomographer/mhrw.h +++ b/tomographer/mhrw.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mhrw_bin_err.h b/tomographer/mhrw_bin_err.h index 718617df..6836e1c0 100644 --- a/tomographer/mhrw_bin_err.h +++ b/tomographer/mhrw_bin_err.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mhrw_valuehist_tasks.h b/tomographer/mhrw_valuehist_tasks.h index 7d6eeaea..f4417491 100644 --- a/tomographer/mhrw_valuehist_tasks.h +++ b/tomographer/mhrw_valuehist_tasks.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mhrwstatscollectors.h b/tomographer/mhrwstatscollectors.h index 0ead873a..295d4962 100644 --- a/tomographer/mhrwstatscollectors.h +++ b/tomographer/mhrwstatscollectors.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/mhrwtasks.h b/tomographer/mhrwtasks.h index af83b07a..412a58f5 100644 --- a/tomographer/mhrwtasks.h +++ b/tomographer/mhrwtasks.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/multiproc.h b/tomographer/multiproc.h index 70d5cdeb..6c3d8277 100644 --- a/tomographer/multiproc.h +++ b/tomographer/multiproc.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/multiprocomp.h b/tomographer/multiprocomp.h index 166c0003..1232fc85 100644 --- a/tomographer/multiprocomp.h +++ b/tomographer/multiprocomp.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tomographer_version.h.in b/tomographer/tomographer_version.h.in index 27948297..4e589c2d 100644 --- a/tomographer/tomographer_version.h.in +++ b/tomographer/tomographer_version.h.in @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/boost_test_logger.h b/tomographer/tools/boost_test_logger.h index dd062052..5b9e6280 100644 --- a/tomographer/tools/boost_test_logger.h +++ b/tomographer/tools/boost_test_logger.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/conststr.h b/tomographer/tools/conststr.h index d848af6d..2a337d94 100644 --- a/tomographer/tools/conststr.h +++ b/tomographer/tools/conststr.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/cxxutil.h b/tomographer/tools/cxxutil.h index 5631ee39..59f98057 100644 --- a/tomographer/tools/cxxutil.h +++ b/tomographer/tools/cxxutil.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/eigen_assert_exception.h b/tomographer/tools/eigen_assert_exception.h index fb63204d..cdc9f402 100644 --- a/tomographer/tools/eigen_assert_exception.h +++ b/tomographer/tools/eigen_assert_exception.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/eigenutil.h b/tomographer/tools/eigenutil.h index 2c7d5aeb..206bd715 100644 --- a/tomographer/tools/eigenutil.h +++ b/tomographer/tools/eigenutil.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/ezmatio.h b/tomographer/tools/ezmatio.h index 2958981a..77dd3ecc 100644 --- a/tomographer/tools/ezmatio.h +++ b/tomographer/tools/ezmatio.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/fmt.h b/tomographer/tools/fmt.h index 1036a622..78f77a02 100644 --- a/tomographer/tools/fmt.h +++ b/tomographer/tools/fmt.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/loggers.h b/tomographer/tools/loggers.h index 40612af0..4451f3cf 100644 --- a/tomographer/tools/loggers.h +++ b/tomographer/tools/loggers.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/needownoperatornew.h b/tomographer/tools/needownoperatornew.h index bcf79416..348c62e6 100644 --- a/tomographer/tools/needownoperatornew.h +++ b/tomographer/tools/needownoperatornew.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/signal_handler.h b/tomographer/tools/signal_handler.h index 3b86476d..36cfef28 100644 --- a/tomographer/tools/signal_handler.h +++ b/tomographer/tools/signal_handler.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/tools/signal_status_report.h b/tomographer/tools/signal_status_report.h index 57fff04b..778f9669 100644 --- a/tomographer/tools/signal_status_report.h +++ b/tomographer/tools/signal_status_report.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomographer/valuecalculator.h b/tomographer/valuecalculator.h index 0ef1111f..f079ade3 100644 --- a/tomographer/valuecalculator.h +++ b/tomographer/valuecalculator.h @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomorun/CMakeLists.txt b/tomorun/CMakeLists.txt index cb552aa7..ae010cc8 100644 --- a/tomorun/CMakeLists.txt +++ b/tomorun/CMakeLists.txt @@ -3,8 +3,8 @@ # # The MIT License (MIT) # -# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe -# Faist +# Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist +# Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/tomorun/tomorun.cxx b/tomorun/tomorun.cxx index bee8cfe4..31a06b9e 100644 --- a/tomorun/tomorun.cxx +++ b/tomorun/tomorun.cxx @@ -4,6 +4,7 @@ * The MIT License (MIT) * * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomorun/tomorun_config.h b/tomorun/tomorun_config.h index 433e0580..baf699ed 100644 --- a/tomorun/tomorun_config.h +++ b/tomorun/tomorun_config.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/tomorun/tomorun_dispatch.h b/tomorun/tomorun_dispatch.h index 71fb18a9..245ca6bb 100644 --- a/tomorun/tomorun_dispatch.h +++ b/tomorun/tomorun_dispatch.h @@ -3,7 +3,8 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist + * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal From 8bc457e0a0760f1d25932de8224050d0db948147 Mon Sep 17 00:00:00 2001 From: Philippe Faist Date: Wed, 22 Feb 2017 00:09:57 -0800 Subject: [PATCH 13/13] updated vc optimization cmake files --- cmake/vc/OptimizeForArchitecture.cmake | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/vc/OptimizeForArchitecture.cmake b/cmake/vc/OptimizeForArchitecture.cmake index 5e59324d..33537621 100644 --- a/cmake/vc/OptimizeForArchitecture.cmake +++ b/cmake/vc/OptimizeForArchitecture.cmake @@ -111,7 +111,7 @@ macro(AutodetectHostArchitecture) set(TARGET_ARCHITECTURE "knl") # Knights Landing elseif(_cpu_model EQUAL 92) set(TARGET_ARCHITECTURE "goldmont") - elseif(_cpu_model EQUAL 90) + elseif(_cpu_model EQUAL 90 OR _cpu_model EQUAL 76) set(TARGET_ARCHITECTURE "silvermont") elseif(_cpu_model EQUAL 102) set(TARGET_ARCHITECTURE "cannonlake") @@ -255,6 +255,15 @@ Other supported values are: \"none\", \"generic\", \"core\", \"merom\" (65nm Cor _broadwell() list(APPEND _available_vector_units_list "avx512f" "avx512pf" "avx512er" "avx512cd") endmacro() + macro(_silvermont) + list(APPEND _march_flag_list "silvermont") + _westmere() + list(APPEND _available_vector_units_list "rdrnd") + endmacro() + macro(_goldmont) + list(APPEND _march_flag_list "goldmont") + _silvermont() + endmacro() if(TARGET_ARCHITECTURE STREQUAL "core") list(APPEND _march_flag_list "core2") @@ -294,6 +303,10 @@ Other supported values are: \"none\", \"generic\", \"core\", \"merom\" (65nm Cor _westmere() elseif(TARGET_ARCHITECTURE STREQUAL "nehalem") _nehalem() + elseif(TARGET_ARCHITECTURE STREQUAL "goldmont") + _goldmont() + elseif(TARGET_ARCHITECTURE STREQUAL "silvermont") + _silvermont() elseif(TARGET_ARCHITECTURE STREQUAL "atom") list(APPEND _march_flag_list "atom") list(APPEND _march_flag_list "core2")