diff --git a/paddle/framework/eigen.h b/paddle/framework/eigen.h index 2599b2950836acd44102265dff8bb903f5c8b371..5f3358c69b3fbbbfcd97a96ab50fde3d8b9efad0 100644 --- a/paddle/framework/eigen.h +++ b/paddle/framework/eigen.h @@ -61,25 +61,24 @@ struct EigenTensor { } }; +template +struct EigenMatrix : public EigenTensor {}; + template struct EigenVector : public EigenTensor { - // Flatten is to reshape a Tensor into a one dimension EigenVector - using Parent = EigenTensor; - static typename Parent::Type Flatten(Tensor& tensor) { - return Parent::From(tensor, - make_ddim({static_cast(product(tensor.dims_))})); + // Flatten reshapes a Tensor into an EigenVector. + static typename EigenVector::Type Flatten(Tensor& tensor) { + return EigenVector::From( + tensor, make_ddim({static_cast(product(tensor.dims_))})); } - static typename Parent::ConstType Flatten(const Tensor& tensor) { - return Parent::From(tensor, - make_ddim({static_cast(product(tensor.dims_))})); + static typename EigenVector::ConstType Flatten(const Tensor& tensor) { + return EigenVector::From( + tensor, make_ddim({static_cast(product(tensor.dims_))})); } }; -template -using EigenMatrix = EigenTensor; - } // namespace framework } // namespace paddle