⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.cpp

📁 图像分割算法
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		Vector<float> temp(m1.Length());
		vsAtan2(m1.Length(), m1.Data(), m2.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Atan2(Vector<double>& m1, Vector<double>& m2)
	{
		if(m1.Length() != m2.Length())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Vector lengths are not the same!");
		}
		
		Vector<double> temp(m1.Length());
		vdAtan2(m1.Length(), m1.Data(), m2.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Atan2(Matrix<float>& m1, Matrix<float>& m2)
	{
		if(m1.Rows() != m2.Rows() || m1.Columns() != m2.Columns())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Matrix dimensions does not match!");
		}
		
		Matrix<float> temp(m1.Rows(), m1.Columns());
		vsAtan2(m1.Length(), m1.Data(), m2.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Atan2(Matrix<double>& m1, Matrix<double>& m2)
	{
		if(m1.Rows() != m2.Rows() || m1.Columns() != m2.Columns())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Matrix dimensions does not match!");
		}
		
		Matrix<double> temp(m1.Rows(), m1.Columns());
		vdAtan2(m1.Length(), m1.Data(), m2.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& Atan2I(Vector<float>& m1, Vector<float>& m2)
	{
		if(m1.Length() != m2.Length())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Vector lengths are not the same!");
		}
		
		vsAtan2(m1.Length(), m1.Data(), m2.Data(), m1.Data());
		return m1;
	}
	
	Vector<double>& Atan2I(Vector<double>& m1, Vector<double>& m2)
	{
		if(m1.Length() != m2.Length())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Vector lengths are not the same!");
		}
		
		vdAtan2(m1.Length(), m1.Data(), m2.Data(), m1.Data());
		return m1;
	}
	
	Matrix<float>& Atan2I(Matrix<float>& m1, Matrix<float>& m2)
	{
		if(m1.Rows() != m2.Rows() || m1.Columns() != m2.Columns())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Matrix dimensions does not match!");
		}
		
		vsAtan2(m1.Length(), m1.Data(), m2.Data(), m1.Data());
		return m1;
	}
	
	Matrix<double>& Atan2I(Matrix<double>& m1, Matrix<double>& m2)
	{
		if(m1.Rows() != m2.Rows() || m1.Columns() != m2.Columns())
		{
			cerr << "Line: " << __LINE__ << " File: " << __FILE__ << endl;
			Utility::RunTimeError("Matrix dimensions does not match!");
		}
		
		vdAtan2(m1.Length(), m1.Data(), m2.Data(), m1.Data());
		return m1;
	}
	
	
	
	
	// Cosh of elements
	Vector<float> Cosh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsCosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Cosh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdCosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Cosh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsCosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Cosh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdCosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& CoshI(Vector<float>& m)
	{
		vsCosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& CoshI(Vector<double>& m)
	{
		vdCosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& CoshI(Matrix<float>& m)
	{
		vsCosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& CoshI(Matrix<double>& m)
	{
		vdCosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Sinh of elements
	Vector<float> Sinh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsSinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Sinh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdSinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Sinh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsSinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Sinh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdSinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& SinhI(Vector<float>& m)
	{
		vsSinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& SinhI(Vector<double>& m)
	{
		vdSinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& SinhI(Matrix<float>& m)
	{
		vsSinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& SinhI(Matrix<double>& m)
	{
		vdSinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Tanh of elements
	Vector<float> Tanh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsTanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Tanh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdTanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Tanh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsTanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Tanh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdTanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& TanhI(Vector<float>& m)
	{
		vsTanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& TanhI(Vector<double>& m)
	{
		vdTanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& TanhI(Matrix<float>& m)
	{
		vsTanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& TanhI(Matrix<double>& m)
	{
		vdTanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Acosh of elements
	Vector<float> Acosh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsAcosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Acosh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdAcosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Acosh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsAcosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Acosh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdAcosh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& AcoshI(Vector<float>& m)
	{
		vsAcosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& AcoshI(Vector<double>& m)
	{
		vdAcosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& AcoshI(Matrix<float>& m)
	{
		vsAcosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& AcoshI(Matrix<double>& m)
	{
		vdAcosh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Asinh of elements
	Vector<float> Asinh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsAsinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Asinh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdAsinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Asinh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsAsinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Asinh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdAsinh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& AsinhI(Vector<float>& m)
	{
		vsAsinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& AsinhI(Vector<double>& m)
	{
		vdAsinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& AsinhI(Matrix<float>& m)
	{
		vsAsinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& AsinhI(Matrix<double>& m)
	{
		vdAsinh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Atanh of elements
	Vector<float> Atanh(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsAtanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Atanh(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdAtanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Atanh(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsAtanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Atanh(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdAtanh(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& AtanhI(Vector<float>& m)
	{
		vsAtanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& AtanhI(Vector<double>& m)
	{
		vdAtanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& AtanhI(Matrix<float>& m)
	{
		vsAtanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& AtanhI(Matrix<double>& m)
	{
		vdAtanh(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	
	// Erf of elements
	Vector<float> Erf(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsErf(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Erf(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdErf(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Erf(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsErf(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Erf(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdErf(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& ErfI(Vector<float>& m)
	{
		vsErf(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& ErfI(Vector<double>& m)
	{
		vdErf(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& ErfI(Matrix<float>& m)
	{
		vsErf(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& ErfI(Matrix<double>& m)
	{
		vdErf(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	
	// Erfc of elements
	Vector<float> Erfc(Vector<float>& m)
	{
		Vector<float> temp(m.Length());
		vsErfc(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Vector<double> Erfc(Vector<double>& m)
	{
		Vector<double> temp(m.Length());
		vdErfc(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<float> Erfc(Matrix<float>& m)
	{
		Matrix<float> temp(m.Rows(), m.Columns());
		vsErfc(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	Matrix<double> Erfc(Matrix<double>& m)
	{
		Matrix<double> temp(m.Rows(), m.Columns());
		vdErfc(m.Length(), m.Data(), temp.Data());
		return temp;
	}
	
	
	Vector<float>& ErfcI(Vector<float>& m)
	{
		vsErfc(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Vector<double>& ErfcI(Vector<double>& m)
	{
		vdErfc(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<float>& ErfcI(Matrix<float>& m)
	{
		vsErfc(m.Length(), m.Data(), m.Data());
		return m;
	}
	
	Matrix<double>& ErfcI(Matrix<double>& m)
	{
		vdErfc(m.Length(), m.Data(), m.Data());
		return m;
	}



};














⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -