@@ -30,6 +30,78 @@ if(WIN32)
30
30
endif ()
31
31
endif ()
32
32
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
+ )
33
105
set (_tensor_impl_sources
34
106
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_py.cpp
35
107
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/accumulators.cpp
@@ -47,11 +119,12 @@ set(_tensor_impl_sources
47
119
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/where.cpp
48
120
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/boolean_reductions.cpp
49
121
${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
52
122
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/repeat.cpp
53
123
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/reduction_over_axis.cpp
54
124
)
125
+ list (APPEND _tensor_impl_sources
126
+ ${_elementwise_sources}
127
+ )
55
128
56
129
set (python_module_name _tensor_impl )
57
130
pybind11_add_module (${python_module_name} MODULE ${_tensor_impl_sources} )
@@ -64,10 +137,11 @@ endif()
64
137
set (_no_fast_math_sources
65
138
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/full_ctor.cpp
66
139
${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
69
140
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/reduction_over_axis.cpp
70
141
)
142
+ list (APPEND _no_fast_math_sources
143
+ ${_elementwise_sources}
144
+ )
71
145
foreach (_src_fn ${_no_fast_math_sources} )
72
146
get_source_file_property (_cmpl_options_prop ${_src_fn} COMPILE_OPTIONS )
73
147
set (_combined_options_prop ${_cmpl_options_prop} "${_clang_prefix} -fno-fast-math" )
@@ -78,7 +152,8 @@ foreach(_src_fn ${_no_fast_math_sources})
78
152
endforeach ()
79
153
if (UNIX )
80
154
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
82
157
PROPERTIES COMPILE_DEFINITIONS "USE_STD_ABS_FOR_COMPLEX_TYPES;USE_STD_SQRT_FOR_COMPLEX_TYPES" )
83
158
endif ()
84
159
target_compile_options (${python_module_name} PRIVATE -fno-sycl-id-queries-fit-in-int )
0 commit comments