@@ -921,55 +921,7 @@ struct promote_types {
921
921
} \
922
922
}()
923
923
924
- #define ET_INTERNAL_SWITCH_CASE_ALL_TYPES (CTYPE_ALIAS, ...) \
925
- ET_INTERNAL_SWITCH_CASE ( \
926
- ::executorch::aten::ScalarType::Byte , CTYPE_ALIAS, __VA_ARGS__) \
927
- ET_INTERNAL_SWITCH_CASE( \
928
- ::executorch::aten::ScalarType::Char, CTYPE_ALIAS, __VA_ARGS__) \
929
- ET_INTERNAL_SWITCH_CASE( \
930
- ::executorch::aten::ScalarType::Short, CTYPE_ALIAS, __VA_ARGS__) \
931
- ET_INTERNAL_SWITCH_CASE( \
932
- ::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
933
- ET_INTERNAL_SWITCH_CASE( \
934
- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__) \
935
- ET_INTERNAL_SWITCH_CASE( \
936
- ::executorch::aten::ScalarType::Half, CTYPE_ALIAS, __VA_ARGS__) \
937
- ET_INTERNAL_SWITCH_CASE( \
938
- ::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__) \
939
- ET_INTERNAL_SWITCH_CASE( \
940
- ::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__) \
941
- ET_INTERNAL_SWITCH_CASE( \
942
- ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__) \
943
- ET_INTERNAL_SWITCH_CASE( \
944
- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
945
- ET_INTERNAL_SWITCH_CASE( \
946
- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__) \
947
- ET_INTERNAL_SWITCH_CASE( \
948
- ::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
949
- ET_INTERNAL_SWITCH_CASE( \
950
- ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
951
- ET_INTERNAL_SWITCH_CASE( \
952
- ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
953
- ET_INTERNAL_SWITCH_CASE( \
954
- ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
955
- ET_INTERNAL_SWITCH_CASE( \
956
- ::executorch::aten::ScalarType::BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
957
- ET_INTERNAL_SWITCH_CASE( \
958
- ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
959
- ET_INTERNAL_SWITCH_CASE( \
960
- ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__) \
961
- ET_INTERNAL_SWITCH_CASE( \
962
- ::executorch::aten::ScalarType::Bits1x8, CTYPE_ALIAS, __VA_ARGS__) \
963
- ET_INTERNAL_SWITCH_CASE( \
964
- ::executorch::aten::ScalarType::Bits2x4, CTYPE_ALIAS, __VA_ARGS__) \
965
- ET_INTERNAL_SWITCH_CASE( \
966
- ::executorch::aten::ScalarType::Bits4x2, CTYPE_ALIAS, __VA_ARGS__) \
967
- ET_INTERNAL_SWITCH_CASE( \
968
- ::executorch::aten::ScalarType::Bits8, CTYPE_ALIAS, __VA_ARGS__) \
969
- ET_INTERNAL_SWITCH_CASE( \
970
- ::executorch::aten::ScalarType::Bits16, CTYPE_ALIAS, __VA_ARGS__)
971
-
972
- #define ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, ...) \
924
+ #define ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, ...) \
973
925
ET_INTERNAL_SWITCH_CASE ( \
974
926
::executorch::aten::ScalarType::Byte , CTYPE_ALIAS, __VA_ARGS__) \
975
927
ET_INTERNAL_SWITCH_CASE( \
@@ -979,12 +931,73 @@ struct promote_types {
979
931
ET_INTERNAL_SWITCH_CASE( \
980
932
::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
981
933
ET_INTERNAL_SWITCH_CASE( \
982
- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__) \
934
+ ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__)
935
+
936
+ #define ET_INTERNAL_SWITCH_CASE_UINT_TYPES (CTYPE_ALIAS, ...) \
937
+ ET_INTERNAL_SWITCH_CASE ( \
938
+ ::executorch::aten::ScalarType::UInt16 , CTYPE_ALIAS, __VA_ARGS__) \
939
+ ET_INTERNAL_SWITCH_CASE( \
940
+ ::executorch::aten::ScalarType::UInt32 , CTYPE_ALIAS, __VA_ARGS__) \
941
+ ET_INTERNAL_SWITCH_CASE( \
942
+ ::executorch::aten::ScalarType::UInt64 , CTYPE_ALIAS, __VA_ARGS__)
943
+
944
+ #define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, ...) \
983
945
ET_INTERNAL_SWITCH_CASE ( \
984
946
::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__) \
985
947
ET_INTERNAL_SWITCH_CASE( \
986
948
::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__)
987
949
950
+ #define ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, ...) \
951
+ ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
952
+ ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES(CTYPE_ALIAS, __VA_ARGS__)
953
+
954
+ #define ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, ...) \
955
+ ET_INTERNAL_SWITCH_CASE ( \
956
+ ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
957
+ ET_INTERNAL_SWITCH_CASE( \
958
+ ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
959
+
960
+ #define ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES (CTYPE_ALIAS, ...) \
961
+ ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
962
+ ET_INTERNAL_SWITCH_CASE( \
963
+ ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__)
964
+
965
+ #define ET_INTERNAL_SWITCH_CASE_QINT_TYPES (CTYPE_ALIAS, ...) \
966
+ ET_INTERNAL_SWITCH_CASE ( \
967
+ ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
968
+ ET_INTERNAL_SWITCH_CASE( \
969
+ ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
970
+ ET_INTERNAL_SWITCH_CASE( \
971
+ ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
972
+ ET_INTERNAL_SWITCH_CASE( \
973
+ ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
974
+ ET_INTERNAL_SWITCH_CASE( \
975
+ ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__)
976
+
977
+ #define ET_INTERNAL_SWITCH_CASE_BITS_TYPES (CTYPE_ALIAS, ...) \
978
+ ET_INTERNAL_SWITCH_CASE ( \
979
+ ::executorch::aten::ScalarType::Bits1x8, CTYPE_ALIAS, __VA_ARGS__) \
980
+ ET_INTERNAL_SWITCH_CASE( \
981
+ ::executorch::aten::ScalarType::Bits2x4, CTYPE_ALIAS, __VA_ARGS__) \
982
+ ET_INTERNAL_SWITCH_CASE( \
983
+ ::executorch::aten::ScalarType::Bits4x2, CTYPE_ALIAS, __VA_ARGS__) \
984
+ ET_INTERNAL_SWITCH_CASE( \
985
+ ::executorch::aten::ScalarType::Bits8, CTYPE_ALIAS, __VA_ARGS__) \
986
+ ET_INTERNAL_SWITCH_CASE( \
987
+ ::executorch::aten::ScalarType::Bits16, CTYPE_ALIAS, __VA_ARGS__)
988
+
989
+ #define ET_INTERNAL_SWITCH_CASE_ALL_TYPES (CTYPE_ALIAS, ...) \
990
+ ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
991
+ ET_INTERNAL_SWITCH_CASE( \
992
+ ::executorch::aten::ScalarType::Half, CTYPE_ALIAS, __VA_ARGS__) \
993
+ ET_INTERNAL_SWITCH_CASE( \
994
+ ::executorch::aten::ScalarType::BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
995
+ ET_INTERNAL_SWITCH_CASE( \
996
+ ::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
997
+ ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
998
+ ET_INTERNAL_SWITCH_CASE_QINT_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
999
+ ET_INTERNAL_SWITCH_CASE_BITS_TYPES(CTYPE_ALIAS, __VA_ARGS__)
1000
+
988
1001
#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
989
1002
ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
990
1003
ET_INTERNAL_SWITCH_CASE( \
@@ -1008,29 +1021,11 @@ struct promote_types {
1008
1021
ET_INTERNAL_SWITCH_CASE( \
1009
1022
::executorch::aten::ScalarType::ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__)
1010
1023
1011
- #define ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, ...) \
1012
- ET_INTERNAL_SWITCH_CASE ( \
1013
- ::executorch::aten::ScalarType::Byte , CTYPE_ALIAS, __VA_ARGS__) \
1014
- ET_INTERNAL_SWITCH_CASE( \
1015
- ::executorch::aten::ScalarType::Char, CTYPE_ALIAS, __VA_ARGS__) \
1016
- ET_INTERNAL_SWITCH_CASE( \
1017
- ::executorch::aten::ScalarType::Short, CTYPE_ALIAS, __VA_ARGS__) \
1018
- ET_INTERNAL_SWITCH_CASE( \
1019
- ::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
1020
- ET_INTERNAL_SWITCH_CASE( \
1021
- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__)
1022
-
1023
1024
#define ET_INTERNAL_SWITCH_CASE_INT_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
1024
1025
ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
1025
1026
ET_INTERNAL_SWITCH_CASE( \
1026
1027
::executorch::aten::ScalarType::ADDITIONAL, CTYPE_ALIAS, __VA_ARGS__)
1027
1028
1028
- #define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, ...) \
1029
- ET_INTERNAL_SWITCH_CASE ( \
1030
- ::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__) \
1031
- ET_INTERNAL_SWITCH_CASE( \
1032
- ::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__)
1033
-
1034
1029
#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
1035
1030
ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
1036
1031
ET_INTERNAL_SWITCH_CASE( \
@@ -1050,32 +1045,6 @@ struct promote_types {
1050
1045
ET_INTERNAL_SWITCH_CASE( \
1051
1046
::executorch::aten::ScalarType::ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__)
1052
1047
1053
- #define ET_INTERNAL_SWITCH_CASE_QINT_TYPES (CTYPE_ALIAS, ...) \
1054
- ET_INTERNAL_SWITCH_CASE ( \
1055
- ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
1056
- ET_INTERNAL_SWITCH_CASE( \
1057
- ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
1058
- ET_INTERNAL_SWITCH_CASE( \
1059
- ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
1060
- ET_INTERNAL_SWITCH_CASE( \
1061
- ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
1062
- ET_INTERNAL_SWITCH_CASE( \
1063
- ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__)
1064
-
1065
- #define ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, ...) \
1066
- ET_INTERNAL_SWITCH_CASE ( \
1067
- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
1068
- ET_INTERNAL_SWITCH_CASE( \
1069
- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
1070
-
1071
- #define ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES (CTYPE_ALIAS, ...) \
1072
- ET_INTERNAL_SWITCH_CASE ( \
1073
- ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__) \
1074
- ET_INTERNAL_SWITCH_CASE( \
1075
- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
1076
- ET_INTERNAL_SWITCH_CASE( \
1077
- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
1078
-
1079
1048
#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_TYPES (CTYPE_ALIAS, ...) \
1080
1049
ET_INTERNAL_SWITCH_CASE ( \
1081
1050
::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
@@ -1204,26 +1173,15 @@ struct promote_types {
1204
1173
ET_SWITCH_REAL_TYPES_AND3 ( \
1205
1174
Half, Bool, BFloat16, TYPE, CONTEXT, NAME, CTYPE_ALIAS, __VA_ARGS__)
1206
1175
1207
- #define ET_SWITCH_REALHBBF16_AND_UINT_TYPES ( \
1208
- TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
1209
- ET_INTERNAL_SWITCH( \
1210
- TYPE, \
1211
- CONTEXT, \
1212
- NAME, \
1213
- ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3 ( \
1214
- Half, Bool, BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
1215
- ET_INTERNAL_SWITCH_CASE( \
1216
- ::executorch::aten::ScalarType::UInt16 , \
1217
- CTYPE_ALIAS, \
1218
- __VA_ARGS__) \
1219
- ET_INTERNAL_SWITCH_CASE( \
1220
- ::executorch::aten::ScalarType::UInt32 , \
1221
- CTYPE_ALIAS, \
1222
- __VA_ARGS__) \
1223
- ET_INTERNAL_SWITCH_CASE( \
1224
- ::executorch::aten::ScalarType::UInt64 , \
1225
- CTYPE_ALIAS, \
1226
- __VA_ARGS__))
1176
+ #define ET_SWITCH_REALHBBF16_AND_UINT_TYPES ( \
1177
+ TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
1178
+ ET_INTERNAL_SWITCH( \
1179
+ TYPE, \
1180
+ CONTEXT, \
1181
+ NAME, \
1182
+ ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3 ( \
1183
+ Half, Bool, BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
1184
+ ET_INTERNAL_SWITCH_CASE_UINT_TYPES(CTYPE_ALIAS, __VA_ARGS__))
1227
1185
1228
1186
#define ET_SWITCH_INT_TYPES (TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
1229
1187
ET_INTERNAL_SWITCH ( \
0 commit comments