@@ -30,6 +30,78 @@ if(WIN32)
3030 endif ()
3131endif ()
3232
33+ set (_elementwise_sources
34+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/elementwise_common.cpp
35+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/elementwise_functions_type_utils.cpp
36+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/abs.cpp
37+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/acos.cpp
38+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/acosh.cpp
39+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/add.cpp
40+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/asin.cpp
41+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/asinh.cpp
42+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/atan.cpp
43+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/atan2.cpp
44+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/atanh.cpp
45+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_and.cpp
46+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_invert.cpp
47+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_left_shift.cpp
48+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_or.cpp
49+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_right_shift.cpp
50+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/bitwise_xor.cpp
51+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/cbrt.cpp
52+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/ceil.cpp
53+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/conj.cpp
54+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/copysign.cpp
55+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/cos.cpp
56+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/cosh.cpp
57+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/equal .cpp
58+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/exp.cpp
59+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/exp2.cpp
60+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/expm1.cpp
61+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/floor_divide.cpp
62+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/floor.cpp
63+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/greater_equal .cpp
64+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/greater .cpp
65+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/hypot.cpp
66+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/imag.cpp
67+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/isfinite.cpp
68+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/isinf.cpp
69+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/isnan.cpp
70+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/less_equal .cpp
71+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/less .cpp
72+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/log .cpp
73+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/log1p.cpp
74+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/log2.cpp
75+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/log10.cpp
76+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/logaddexp.cpp
77+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/logical_and.cpp
78+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/logical_not.cpp
79+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/logical_or.cpp
80+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/logical_xor.cpp
81+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/maximum.cpp
82+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/minimum.cpp
83+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/multiply.cpp
84+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/negative.cpp
85+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/not_equal.cpp
86+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/positive.cpp
87+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/pow.cpp
88+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/proj.cpp
89+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/real.cpp
90+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/remainder.cpp
91+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/round.cpp
92+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/rsqrt.cpp
93+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/sign.cpp
94+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/signbit.cpp
95+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/sin.cpp
96+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/sinh.cpp
97+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/sqrt.cpp
98+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/square.cpp
99+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/subtract.cpp
100+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/tan.cpp
101+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/tanh.cpp
102+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/true_divide.cpp
103+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/trunc.cpp
104+ )
33105set (_tensor_impl_sources
34106 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /tensor_py.cpp
35107 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /accumulators.cpp
@@ -47,11 +119,12 @@ set(_tensor_impl_sources
47119 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /where.cpp
48120 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /boolean_reductions.cpp
49121 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /device_support_queries.cpp
50- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions1.cpp
51- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions2.cpp
52122 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /repeat.cpp
53123 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /reduction_over_axis.cpp
54124)
125+ list (APPEND _tensor_impl_sources
126+ ${_elementwise_sources}
127+ )
55128
56129set (python_module_name _tensor_impl)
57130pybind11_add_module(${python_module_name} MODULE ${_tensor_impl_sources} )
@@ -64,10 +137,11 @@ endif()
64137set (_no_fast_math_sources
65138 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /full_ctor.cpp
66139 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /linear_sequences.cpp
67- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions1.cpp
68- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions2.cpp
69140 ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /reduction_over_axis.cpp
70141)
142+ list (APPEND _no_fast_math_sources
143+ ${_elementwise_sources}
144+ )
71145foreach (_src_fn ${_no_fast_math_sources} )
72146 get_source_file_property (_cmpl_options_prop ${_src_fn} COMPILE_OPTIONS)
73147 set (_combined_options_prop ${_cmpl_options_prop} "${_clang_prefix} -fno-fast-math" )
@@ -78,7 +152,8 @@ foreach(_src_fn ${_no_fast_math_sources})
78152endforeach ()
79153if (UNIX )
80154 set_source_files_properties (
81- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions.cpp
155+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/abs.cpp
156+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /elementwise_functions/sqrt.cpp
82157 PROPERTIES COMPILE_DEFINITIONS "USE_STD_ABS_FOR_COMPLEX_TYPES;USE_STD_SQRT_FOR_COMPLEX_TYPES" )
83158endif ()
84159target_compile_options (${python_module_name} PRIVATE -fno-sycl-id-queries-fit-in-int)
0 commit comments