@ -47,22 +47,6 @@ namespace paddle {
} \
} ( )
# define PD_DISPATCH_FLOATING_AND_HALF_TYPES(TYPE, NAME, ...) \
[ & ] { \
const auto & __dtype__ = TYPE ; \
switch ( __dtype__ ) { \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT32 , float , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT64 , double , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT16 , paddle : : float16 , \
__VA_ARGS__ ) \
default : \
PD_THROW ( " function " # NAME " is not implemented for data type ` " , \
: : paddle : : ToString ( __dtype__ ) , " ` " ) ; \
} \
} ( )
///////// Integral Dispatch Marco ///////////
# define PD_DISPATCH_INTEGRAL_TYPES(TYPE, NAME, ...) \
@ -84,22 +68,6 @@ namespace paddle {
} \
} ( )
///////// Complex Dispatch Marco ///////////
# define PD_DISPATCH_COMPLEX_TYPES(TYPE, NAME, ...) \
[ & ] { \
const auto & __dtype__ = TYPE ; \
switch ( __dtype__ ) { \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX64 , \
: : paddle : : complex64 , __VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX128 , \
: : paddle : : complex128 , __VA_ARGS__ ) \
default : \
PD_THROW ( " function " # NAME " is not implemented for data type ` " + \
: : paddle : : ToString ( __dtype__ ) + " ` " ) ; \
} \
} ( )
///////// Floating and Integral Dispatch Marco ///////////
# define PD_DISPATCH_FLOATING_AND_INTEGRAL_TYPES(TYPE, NAME, ...) \
@ -125,55 +93,6 @@ namespace paddle {
} \
} ( )
///////// Floating and Complex Dispatch Marco ///////////
# define PD_DISPATCH_FLOATING_AND_COMPLEX_TYPES(TYPE, NAME, ...) \
[ & ] { \
const auto & __dtype__ = TYPE ; \
switch ( __dtype__ ) { \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT32 , float , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT64 , double , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX64 , \
: : paddle : : complex64 , __VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX128 , \
: : paddle : : complex128 , __VA_ARGS__ ) \
default : \
PD_THROW ( " function " # NAME " is not implemented for data type ` " + \
: : paddle : : ToString ( __dtype__ ) + " ` " ) ; \
} \
} ( )
///////// Floating, Integral and Complex Dispatch Marco ///////////
# define PD_DISPATCH_FLOATING_AND_INTEGRAL_AND_COMPLEX_TYPES(TYPE, NAME, ...) \
[ & ] { \
const auto & __dtype__ = TYPE ; \
switch ( __dtype__ ) { \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT32 , float , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : FLOAT64 , double , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : INT32 , int , __VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : INT64 , int64_t , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : INT8 , int8_t , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : UINT8 , uint8_t , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : INT16 , int16_t , \
__VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX64 , \
: : paddle : : complex64 , __VA_ARGS__ ) \
PD_PRIVATE_CASE_TYPE ( NAME , : : paddle : : DataType : : COMPLEX128 , \
: : paddle : : complex128 , __VA_ARGS__ ) \
default : \
PD_THROW ( " function " # NAME " is not implemented for data type ` " + \
: : paddle : : ToString ( __dtype__ ) + " ` " ) ; \
} \
} ( )
// TODO(chenweihang): Add more Marcos in the future if needed
} // namespace paddle