/*****************************************************************//**
 * \file   GPUBpSimulation.cuh
 * \brief  GPU的局部仿真代码
 * 
 * \author 30453
 * \date   March 2025
 *********************************************************************/
#ifndef _GPUBPSIMUALTION_CUDA_H_
#define _GPUBPSIMUALTION_CUDA_H_
#include "BaseConstVariable.h"
#include "GPUTool.cuh"
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
#include <cublas_v2.h>
#include <cuComplex.h>
#include "GPUTool.cuh"
#include "BPBasic0_CUDA.cuh"
 




extern "C" double* getFreqPoints_mallocHost(double startFreq, double endFreq, long freqpoints);
extern "C" cuComplex* createEchoPhase_mallocHost(long Np, long Nf);

extern "C" void RFPCProcess(
	double Tx, double Ty, double Tz, // 目标点坐标
	double Tslx,double Tsly,double Tslz, // 目标的坡面向量
	double p1, double p2, double p3, double p4, double p5, double p6,// 地面目标后向散射系数与入射角关系 系数
	GPUDATA& d_data
	);

extern "C" float* getFreqPoints_mallocHost_single(float startFreq, float endFreq, long freqpoints);
 
extern "C" void RFPCProcess_single(
	float Tx, float Ty, float Tz, // 目标点坐标
	float Tslx, float Tsly, float Tslz, // 目标的坡面向量
	float p1, float p2, float p3, float p4, float p5, float p6,// 地面目标后向散射系数与入射角关系 系数
	GPUDATA_single& d_data
);





#endif