Files
Aurora/src/Function1D.cuh
2023-12-01 16:15:51 +08:00

85 lines
2.6 KiB
Plaintext

#ifndef AURORA_CUDA_FUNCTION1D_H
#define AURORA_CUDA_FUNCTION1D_H
#include "CudaMatrix.h"
#include "Function1D.h"
namespace Aurora
{
CudaMatrix complex(const CudaMatrix& aMatrix);
CudaMatrix real(const CudaMatrix& aMatrix);
CudaMatrix imag(const CudaMatrix& aMatrix);
CudaMatrix ceil(const CudaMatrix& aMatrix);
CudaMatrix ceil(const CudaMatrix&& aMatrix);
CudaMatrix round(const CudaMatrix& aMatrix);
CudaMatrix round(const CudaMatrix&& aMatrix);
CudaMatrix floor(const CudaMatrix& aMatrix);
CudaMatrix floor(const CudaMatrix&& aMatrix);
/**
* 开根号,暂时只支持正整数
* @param matrix
* @return
*/
CudaMatrix sqrt(const CudaMatrix& aMatrix);
CudaMatrix sqrt(const CudaMatrix&& aMatrix);
CudaMatrix abs(const CudaMatrix& aMatrix);
CudaMatrix abs2(const CudaMatrix& aMatrix);
CudaMatrix abs(const CudaMatrix&& aMatrix);
CudaMatrix sign(const CudaMatrix& aMatrix);
CudaMatrix sign(const CudaMatrix&& aMatrix);
CudaMatrix repmat(const CudaMatrix& aMatrix,int aRowTimes, int aColumnTimes);
CudaMatrix repmat(const CudaMatrix& aMatrix,int aRowTimes, int aColumnTimes, int aSliceTimes);
CudaMatrix repmat3d(const CudaMatrix& aMatrix,int aRowTimes, int aColumnTimes, int aSliceTimes);
CudaMatrix log(const CudaMatrix& aMatrix, int aBaseNum = -1);
CudaMatrix exp(const CudaMatrix& aMatrix);
CudaMatrix mod(const CudaMatrix& aMatrix, float aValue);
CudaMatrix acos(const CudaMatrix& aMatrix);
CudaMatrix acosd(const CudaMatrix& aMatrix);
CudaMatrix conj(const CudaMatrix& aMatrix);
float norm(const CudaMatrix& aMatrix, NormMethod aNormMethod);
CudaMatrix transpose(const CudaMatrix& aMatrix);
CudaMatrix horzcat(const CudaMatrix& aMatrix1, const CudaMatrix& aMatrix2);
CudaMatrix vertcat(const CudaMatrix& aMatrix1, const CudaMatrix& aMatrix2);
CudaMatrix vecnorm(const CudaMatrix& aMatrix, NormMethod aNormMethod, int aDim);
CudaMatrix linspaceCuda(float aStart, float aEnd, int aNum);
// ------compareSet----------------------------------------------------
void compareSet(CudaMatrix& aValueMatrix,float compareValue, float newValue,CompareOp op);
void compareSet(CudaMatrix& aValueMatrix,CudaMatrix& aCompareMatrix,float compareValue, float newValue,CompareOp op);
void compareSet(CudaMatrix& aDesAndCompareMatrix,CudaMatrix& aOtherCompareMatrix, float newValue,CompareOp op);
void compareSet(CudaMatrix& aCompareMatrix,float compareValue, CudaMatrix& aNewValueMatrix,CompareOp op);
}
#endif //AURORA_CUDA_FUNCTION1D_H