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

📄 fst_semi_memo.h

📁 普林斯顿开发的快速球面调和变换算法
💻 H
字号:
// FST_semi_memo.h: interface for the FST_semi_memo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FST_SEMI_MEMO_H__4A3CA2E5_0941_482C_B9A0_A206697782C2__INCLUDED_)
#define AFX_FST_SEMI_MEMO_H__4A3CA2E5_0941_482C_B9A0_A206697782C2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "cospmls.h"
#include "primitive_FST.h"
#include "seminaive.h"
#include "fft_grids.h"
#include "naive_synthesis.h"
#include "primitive.h"



#define compmult(a,b,c,d,e,f) (e) = ((a)*(c))-((b)*(d)); (f) = ((a)*(d))+((b)*(c))

class FST_semi_memo  
{
public:
		primitive prim1;
	naive_synthesis naive1;
	fft_grids fftg1;
	cospmls cosp;
	seminaive semi1;
	primitive_FST prif;
	void Conv2Sphere_semi_memo2(double *rdata, double *rfilter, double *rres, int size, double *workspace, double *wSave, double *CoswSave );
	void TransMult2(double *rdatacoeffs, double *idatacoeffs, 
	double *rfiltercoeffs, double *ifiltercoeffs, double *rres, double *ires,int size);
	void FZT_semi_memo2(double *rdata, double *rres, double *ires, int size, double *cos_pml_table, double *workspace, int dataformat, double *wSave);
	void InvFST_semi_memo2(double *rcoeffs, double *icoeffs, double *rdata, int size, double **transpose_seminaive_naive_table, double *workspace, double *wSave, int cutoff);
	void FST_semi_memo2(double *rdata, double *rcoeffs, double *icoeffs,  int size,  double **seminaive_naive_table, double *workspace, double *wSave, double *CoswSave, int cutoff);
	void Conv2Sphere_semi_memo(double *rdata, double *idata, double *rfilter, double *ifilter, double *rres, double *ires, int size, double *workspace);
	void TransMult(double *rdatacoeffs, double *idatacoeffs, double *rfiltercoeffs, double *ifiltercoeffs, double *rres, double *ires, int size);
	void FZT_semi_memo(double *rdata, double *idata, double *rres, double *ires, int size, double *cos_pml_table, double *workspace, int dataformat);
	void InvFST_semi_memo(double *rcoeffs, double *icoeffs, double *rdata, double *idata, int size, double **transpose_seminaive_naive_table, double *workspace, int dataformat, int cutoff);
	void FST_semi_memo1(double *rdata, double *idata, double *rcoeffs, double *icoeffs, int size, double **seminaive_naive_table, double *workspace, int dataformat, int cutoff);

	FST_semi_memo();
	virtual ~FST_semi_memo();

};

#endif // !defined(AFX_FST_SEMI_MEMO_H__4A3CA2E5_0941_482C_B9A0_A206697782C2__INCLUDED_)

⌨️ 快捷键说明

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