In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, float) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int, float) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=<>]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, double) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function, int, int, double) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function &, _Args=]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function ()>) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function ()> &, _Args=<>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function ()> &, _Args=<>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional(1523): error: class "std::__1::enable_if<, void>" has no member "type" >::type* = 0); ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" based on template argument )->El::Complex> at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function (El::Complex)>, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function (El::Complex)> &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function (El::Complex)> &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::ElementalMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::SparseMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::DistSparseMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::DistMultiVec>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function (El::Int, El::Int)>, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function (El::Int={int}, El::Int={int})> &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function (El::Int={int}, El::Int={int})> &, _Args=]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex, int, int, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "IndexDependentMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::Matrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex, int, int, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(49): error: no instance of overloaded function "IndexDependentMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::ElementalMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_c ( typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_c ( typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_c ( typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_c ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_c ( typename CReflectType > ::type alpha, ElConstDistMultiVec_c X, ElDistMultiVec_c Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_c X, ElDistMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_c X, ElSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_c ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_c X, ElDistSparseMatrix_c Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_c ( ElConstDistSparseMatrix_c A, ElConstDistSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_c ( ElConstDistSparseMatrix_c ADist, ElSparseMatrix_c A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_c ( ElConstDistSparseMatrix_c ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_c ( ElConstDistMultiVec_c A, ElDistMultiVec_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_c ( ElConstDistMultiVec_c A, ElMatrix_c B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_c ( ElConstDistMultiVec_c A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_c ( ElConstSparseMatrix_c A, ElMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_c ( ElConstDistSparseMatrix_c A, ElDistMatrix_c B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_c ( ElConstMatrix_c A, ElRange_i I, ElRange_i J, ElMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_c ( ElConstDistMatrix_c A, ElRange_i I, ElRange_i J, ElDistMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_c ( ElConstSparseMatrix_c A, ElRange_i I, ElRange_i J, ElSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_c ( ElConstDistSparseMatrix_c A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_c ( ElConstDistMultiVec_c A, ElRange_i I, ElRange_i J, ElDistMultiVec_c ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, ElDistMatrix_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, ElDistMultiVec_c C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_c ( ElConstMatrix_c A, ElConstMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_c ( ElConstDistMatrix_c A, ElConstDistMatrix_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_c ( ElConstDistMultiVec_c A, ElConstDistMultiVec_c B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_c ( ElConstMatrix_c A, ElMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_c ( ElMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_c ( ElMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_c ( ElDistMatrix_c A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_c ( ElConstMatrix_c A, ElConstMatrix_c B, ElDistMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_c ( ElConstSparseMatrix_c A, ElConstSparseMatrix_c B, ElDistSparseMatrix_c C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_c ( ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_c ( ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_c ( ElUpperOrLower uplo, ElConstMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_c ( ElUpperOrLower uplo, ElConstDistMatrix_c A, ElEntry_s *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_c ( ElConstMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_c ( ElConstDistMatrix_c x, ElValueInt_s *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_c ( ElMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_c ( ElDistMatrix_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_c ( ElDistMultiVec_c A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_c ( typename CReflectType > ::type alpha, ElMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_c ( typename CReflectType > ::type alpha, ElDistMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_c ( typename CReflectType > ::type alpha, ElSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_c ( typename CReflectType > ::type alpha, ElDistSparseMatrix_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_c ( typename CReflectType > ::type alpha, ElDistMultiVec_c A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_c ( ElConstMatrix_c A, ElMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_c ( ElConstDistMatrix_c A, ElDistMatrix_s AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_c ( ElInt m, ElInt n, ElConstMatrix_c A, ElMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_c ( ElInt m, ElInt n, ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_c ( ElInt m, ElInt n, ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_c ( ElInt m, ElInt n, ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_c ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_c A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_c ( ElMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_c ( ElDistMultiVec_c A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_c ( ElMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_c ( ElDistMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_c ( ElSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_c ( ElDistSparseMatrix_c A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_c ( ElOrientation orientation, ElMatrix_c X, ElMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_c ( ElOrientation orientation, ElDistMatrix_c X, ElDistMatrix_c Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_c ( ElMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_c ( ElDistMatrix_c A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_c ( ElMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_c ( ElDistMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_c ( ElSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_c ( ElDistSparseMatrix_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_c ( ElDistMultiVec_c A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_c ( ElConstDistMultiVec_c A, ElMatrix_s norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_c ( ElConstMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_c ( ElConstDistMatrix_c A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_c ( ElConstDistMultiVec_c A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_c ( ElConstMatrix_c A, ElMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_c ( ElConstDistMatrix_c A, ElDistMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_c ( ElConstSparseMatrix_c A, ElSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_c ( ElConstDistSparseMatrix_c A, ElDistSparseMatrix_c B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_c( ElMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_c( ElDistMatrix_c A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_c ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_c d, ElDistMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_c d, ElSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistSparseMatrix_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_c ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_c d, ElDistMultiVec_c A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_c ( ElUpperOrLower uplo, ElMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_c ( ElUpperOrLower uplo, ElMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_c ( ElUpperOrLower uplo, ElDistMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_c ( ElUpperOrLower uplo, ElSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_c ( ElUpperOrLower uplo, ElDistSparseMatrix_c A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_c ( ElMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_c ( ElDistMatrix_c A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function ()>) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function ()> &, _Args=<>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function ()> &, _Args=<>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::Matrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::ElementalMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::SparseMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::DistSparseMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "EntrywiseMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::DistMultiVec>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (std::__1::function (El::Int, El::Int)>, int, int) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=std::__1::function (El::Int={int}, El::Int={int})> &, _Args=]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=std::__1::function (El::Int={int}, El::Int={int})> &, _Args=]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex, int, int, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "IndexDependentMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::Matrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits(3540): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex, int, int, El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): detected during: In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable_imp<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 3548 In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): instantiation of class "std::__1::__invokable<_Fp, _Args...> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Complex)->El::Complex &, _Args=>]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of constructor "std::__1::function<_Rp (_ArgTypes...)>::function [with _Rp=El::Complex, _ArgTypes=>]" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (lambda [](El::Int, El::Int, El::Complex)->El::Complex) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): /Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h(52): error: no instance of overloaded function "IndexDependentMap" matches the argument list In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): argument types are: (El::ElementalMatrix>, ) In file included from /Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp(937): ElError ElAxpy_z ( typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDist_z ( typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpySparse_z ( typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistSparse_z ( typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyDistMultiVec_z ( typename CReflectType > ::type alpha, ElConstDistMultiVec_z X, ElDistMultiVec_z Y ) { try { Axpy( CReflect(alpha), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoid_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDist_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistMatrix_z X, ElDistMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstSparseMatrix_z X, ElSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAxpyTrapezoidDistSparse_z ( ElUpperOrLower uplo, typename CReflectType > ::type alpha, ElConstDistSparseMatrix_z X, ElDistSparseMatrix_z Y, ElInt offset ) { try { AxpyTrapezoid ( CReflect(uplo), CReflect(alpha), *CReflect(X), *CReflect(Y), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { HCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCat_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistSparse_z ( ElConstDistSparseMatrix_z A, ElConstDistSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVCatDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { VCat( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopy_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseToDense_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistSparseToDense_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromRoot_z ( ElConstDistSparseMatrix_z ADist, ElSparseMatrix_z A ) { try { CopyFromRoot( *CReflect(ADist), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopySparseMatrixFromNonRoot_z ( ElConstDistSparseMatrix_z ADist, int root ) { try { CopyFromNonRoot( *CReflect(ADist), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyDistMultiVec_z ( ElConstDistMultiVec_z A, ElDistMultiVec_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromRoot_z ( ElConstDistMultiVec_z A, ElMatrix_z B ) { try { CopyFromRoot( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElCopyMultiVecFromNonRoot_z ( ElConstDistMultiVec_z A, int root ) { try { CopyFromNonRoot( *CReflect(A), root ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDot_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dot(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotu_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDotuDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(Dotu(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElEntrywiseFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*fill)() ) { try { auto newFill = [&]() { return CReflect(fill()); }; EntrywiseFill( *CReflect(A), function(void)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElEntrywiseMapDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type (*func)(typename CReflectType > ::type) ) { try { auto newMap = [&]( Complex alpha ) { return CReflect(func(CReflect(alpha))); }; EntrywiseMap( *CReflect(A), function(Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElFill_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha ) { try { Fill( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFillDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { FillDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFull_z ( ElConstSparseMatrix_z A, ElMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElFullDist_z ( ElConstDistSparseMatrix_z A, ElDistMatrix_z B ) { try { Copy( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrix_z ( ElConstMatrix_z A, ElRange_i I, ElRange_i J, ElMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDist_z ( ElConstDistMatrix_z A, ElRange_i I, ElRange_i J, ElDistMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixSparse_z ( ElConstSparseMatrix_z A, ElRange_i I, ElRange_i J, ElSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistSparse_z ( ElConstDistSparseMatrix_z A, ElRange_i I, ElRange_i J, ElDistSparseMatrix_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElGetContigSubmatrixDistMultiVec_z ( ElConstDistMultiVec_z A, ElRange_i I, ElRange_i J, ElDistMultiVec_z ASub ) { try { GetSubmatrix ( *CReflect(A), CReflect(I), CReflect(J), *CReflect(ASub) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamard_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, ElDistMatrix_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHadamardDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, ElDistMultiVec_z C ) { try { Hadamard(*CReflect(A),*CReflect(B),*CReflect(C)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidt_z ( ElConstMatrix_z A, ElConstMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDist_z ( ElConstDistMatrix_z A, ElConstDistMatrix_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHilbertSchmidtDistMultiVec_z ( ElConstDistMultiVec_z A, ElConstDistMultiVec_z B, typename CReflectType > ::type* prod ) { try { *prod = CReflect(HilbertSchmidt(*CReflect(A),*CReflect(B))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPart_z ( ElConstMatrix_z A, ElMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElImagPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AImag ) { try { ImagPart( *CReflect(A), *CReflect(AImag) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElIndexDependentFill_z ( ElMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentFillDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*fill)(ElInt,ElInt) ) { try { auto newFill = [&]( Int i, Int j ) { return CReflect(fill(i,j)); }; IndexDependentFill ( *CReflect(A), function(Int,Int)>(newFill) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMap_z ( ElMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElIndexDependentMapDist_z ( ElDistMatrix_z A, typename CReflectType > ::type (*func)(ElInt,ElInt,typename CReflectType > ::type) ) { try { auto newMap = [&]( Int i, Int j, Complex alpha ) { return CReflect(func(i,j,CReflect(alpha))); }; IndexDependentMap ( *CReflect(A), function(Int,Int,Complex)>(newMap) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; }; return EL_SUCCESS; } ElError ElKronecker_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDist_z ( ElConstMatrix_z A, ElConstMatrix_z B, ElDistMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElKroneckerDistSparse_z ( ElConstSparseMatrix_z A, ElConstSparseMatrix_z B, ElDistSparseMatrix_z C ) { try { Kronecker( *CReflect(A), *CReflect(B), *CReflect(C) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetric_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeSymmetricDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeSymmetric( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidal_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeTrapezoidalDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { MakeTrapezoidal( CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMaxAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MaxAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMaxAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMaxAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMaxAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMaxAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLoc_z ( ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMinAbsLocDist_z ( ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(MinAbsLoc(*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLoc_z ( ElUpperOrLower uplo, ElConstMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricMinAbsLocDist_z ( ElUpperOrLower uplo, ElConstDistMatrix_z A, ElEntry_d *entry ) { try { *entry = CReflect(SymmetricMinAbsLoc(CReflect(uplo),*CReflect(A))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLoc_z ( ElConstMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElVectorMinAbsLocDist_z ( ElConstDistMatrix_z x, ElValueInt_d *entry ) { try { *entry = CReflect(VectorMinAbsLoc(*CReflect(x))); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRound_z ( ElMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDist_z ( ElDistMatrix_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRoundDistMultiVec_z ( ElDistMultiVec_z A ) { try { Round( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScale_z ( typename CReflectType > ::type alpha, ElMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDist_z ( typename CReflectType > ::type alpha, ElDistMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleSparse_z ( typename CReflectType > ::type alpha, ElSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistSparse_z ( typename CReflectType > ::type alpha, ElDistSparseMatrix_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleDistMultiVec_z ( typename CReflectType > ::type alpha, ElDistMultiVec_z A ) { try { Scale( CReflect(alpha), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPart_z ( ElConstMatrix_z A, ElMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRealPartDist_z ( ElConstDistMatrix_z A, ElDistMatrix_d AReal ) { try { RealPart( *CReflect(A), *CReflect(AReal) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshape_z ( ElInt m, ElInt n, ElConstMatrix_z A, ElMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDist_z ( ElInt m, ElInt n, ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeSparse_z ( ElInt m, ElInt n, ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElReshapeDistSparse_z ( ElInt m, ElInt n, ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Reshape( m, n, *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoid_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDist_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElScaleTrapezoidDistSparse_z ( typename CReflectType > ::type alpha, ElUpperOrLower uplo, ElDistSparseMatrix_z A, ElInt offset ) { try { ScaleTrapezoid ( CReflect(alpha), CReflect(uplo), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShift_z ( ElMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDistMultiVec_z ( ElDistMultiVec_z A, typename CReflectType > ::type alpha ) { try { Shift( *CReflect(A), CReflect(alpha) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonal_z ( ElMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDist_z ( ElDistMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalSparse_z ( ElSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElShiftDiagonalDistSparse_z ( ElDistSparseMatrix_z A, typename CReflectType > ::type alpha, ElInt offset ) { try { ShiftDiagonal( *CReflect(A), CReflect(alpha), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwap_z ( ElOrientation orientation, ElMatrix_z X, ElMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSwapDist_z ( ElOrientation orientation, ElDistMatrix_z X, ElDistMatrix_z Y ) { try { Swap( CReflect(orientation), *CReflect(X), *CReflect(Y) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElRowSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { RowSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwap_z ( ElMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColSwapDist_z ( ElDistMatrix_z A, ElInt to, ElInt from ) { try { ColSwap( *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElSymmetricSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { SymmetricSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTranspose_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElTransposeDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Transpose(*CReflect(A),*CReflect(B),false); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZero_z ( ElMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDist_z ( ElDistMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroSparse_z ( ElSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistSparse_z ( ElDistSparseMatrix_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElZeroDistMultiVec_z ( ElDistMultiVec_z A ) { try { Zero( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElColumnTwoNormsDistMultiVec_z ( ElConstDistMultiVec_z A, ElMatrix_d norms ) { try { ColumnTwoNorms( *CReflect(A), *CReflect(norms) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2_z ( ElConstMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2Dist_z ( ElConstDistMatrix_z A, Base > * norm ) { try { *norm = Nrm2(*CReflect(A)); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElNrm2DistMultiVec_z ( ElConstDistMultiVec_z A, Base > * norm ) { try { *norm = Nrm2( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjoint_z ( ElConstMatrix_z A, ElMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDist_z ( ElConstDistMatrix_z A, ElDistMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointSparse_z ( ElConstSparseMatrix_z A, ElSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElAdjointDistSparse_z ( ElConstDistSparseMatrix_z A, ElDistSparseMatrix_z B ) { try { Adjoint( *CReflect(A), *CReflect(B) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugate_z( ElMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElConjugateDist_z( ElDistMatrix_z A ) { try { Conjugate( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScale_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalScale ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoid_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDist_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalScaleTrapezoidDistSparse_z ( ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A, ElInt offset ) { try { DiagonalScaleTrapezoid ( CReflect(side), CReflect(uplo), CReflect(orientation), *CReflect(d), *CReflect(A), offset ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolve_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDist_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMatrix_z d, ElDistMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstMatrix_z d, ElSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistSparse_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistSparseMatrix_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElDiagonalSolveDistMultiVec_z ( ElLeftOrRight side, ElOrientation orientation, ElConstDistMultiVec_z d, ElDistMultiVec_z A ) { try { DiagonalSolve ( CReflect(side), CReflect(orientation), *CReflect(d), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwap_z ( ElUpperOrLower uplo, ElMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElHermitianSwapDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A, ElInt to, ElInt from ) { try { HermitianSwap( CReflect(uplo), *CReflect(A), to, from ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitian_z ( ElUpperOrLower uplo, ElMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDist_z ( ElUpperOrLower uplo, ElDistMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianSparse_z ( ElUpperOrLower uplo, ElSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeHermitianDistSparse_z ( ElUpperOrLower uplo, ElDistSparseMatrix_z A ) { try { MakeHermitian( CReflect(uplo), *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeReal_z ( ElMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ElError ElMakeRealDist_z ( ElDistMatrix_z A ) { try { MakeReal( *CReflect(A) ); } catch( std::bad_alloc& e ) { El::ReportException(e); return EL_ALLOC_ERROR; } catch( El::ArgException& e ) { El::ReportException(e); return EL_ARG_ERROR; } catch( std::logic_error& e ) { El::ReportException(e); return EL_LOGIC_ERROR; } catch( std::runtime_error& e ) { El::ReportException(e); return EL_RUNTIME_ERROR; } catch( std::exception& e ) { El::ReportException(e); return EL_ERROR; } return EL_SUCCESS; } ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=<>, _Fp=lambda []()->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=<>, _Fp=lambda []()->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=<>, _Fp=lambda []()->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int)->El::Int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int)->El::Int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int)->El::Int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int)->El::Int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int)->El::Int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->El::Int, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->El::Int, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, El::Int)->El::Int, int, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, El::Int)->El::Int, int, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Int={int}, _Args=El::Int={int} &, int, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}, _Alloc=std::__1::allocatorEl::Int={int}>, _Rp=El::Int={int}, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Int={int}, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, El::Int={int})->El::Int={int}]" at line 35 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=<>, _Fp=lambda []()->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=<>, _Fp=lambda []()->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=<>, _Fp=lambda []()->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](float)->float, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](float)->float, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](float)->float, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](float)->float, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](float)->float, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->float, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->float, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, float)->float, int, int, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, int, int, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, float)->float, int, int, float) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=float, _Args=float &, int, int, float>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float, _Alloc=std::__1::allocatorfloat>, _Rp=float, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=float, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, float)->float]" at line 40 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=<>, _Fp=lambda []()->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=<>, _Fp=lambda []()->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=<>, _Fp=lambda []()->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](double)->double, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](double)->double, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](double)->double, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](double)->double, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](double)->double, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->double, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->double, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, double)->double, int, int, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, int, int, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int, double)->double, int, int, double) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=double, _Args=double &, int, int, double>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double, _Alloc=std::__1::allocatordouble>, _Rp=double, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=double, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int}, double)->double]" at line 43 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Complex) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=<>, _Fp=lambda []()->El::Complex]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Complex) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=<>, _Fp=lambda []()->El::Complex]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Complex) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=<>, _Fp=lambda []()->El::Complex]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->El::Complex, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda [](El::Int, El::Int)->El::Complex, int, int) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &, int, int>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=, _Fp=lambda [](El::Int={int}, El::Int={int})->El::Complex]" at line 49 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base(437): error: more than one instance of overloaded function "std::__1::__invoke" matches the argument list: function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" function template "auto std::__1::__invoke(_Fp &&, _Args &&...)->decltype(())" argument types are: (lambda []()->El::Complex) return __invoke(std::__1::forward<_Args>(__args)...); ^ detected during: instantiation of "_Ret std::__1::__invoke_void_return_wrapper<_Ret>::__call(_Args &&...) [with _Ret=El::Complex, _Args=El::Complex &>]" at line 1437 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "_Rp std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::operator()(_ArgTypes &&...) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" implicit generation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::~__func() [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of class "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)> [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1368 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::__function::__func<_Fp, _Alloc, _Rp (_ArgTypes...)>::__func(_Fp &&) [with _Fp=lambda []()->El::Complex, _Alloc=std::__1::allocatorEl::Complex>, _Rp=El::Complex, _ArgTypes=<>]" at line 1663 of "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional" instantiation of "std::__1::function<_Rp (_ArgTypes...)>::function(_Fp, std::__1::enable_if<, void>::type *) [with _Rp=El::Complex, _ArgTypes=<>, _Fp=lambda []()->El::Complex]" at line 52 of "/Users/jrhammon/Work/Elemental/git/include/El/macros/CInstantiate.h" compilation aborted for level1-C.cpp.i (code 4)