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

📄 install

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻
📖 第 1 页 / 共 2 页
字号:
Lots of informative documentation in here!flt_hybrid.c - source for performing the simple-split/hybridalgorithm. The simple-split algorithm work as follows: givena problem of size N, IMMEDIATELY reduce (i.e. SPLIT) it intosmaller subproblems and apply a seminaive approach to each ofthe subproblems. The hybrid algorithm works as follows: applythe "pure" seminaive algorithm to compute the first X-manycoefficients; then use the simple-split algorithm to computethe rest. What does X equal? That depends on many things. Youneed to determine which value of X works best for you. This"switch point" will depend on the bandwidth, order of thetransform, and the number of splits (which controls stability)one does in the simple-split portion of the hybrid algorithm.The thing which needs to be done is determine those settingswhich make the hybrid algorithm a) stable and b) competitivewith the seminaive algorithm.Look at the documentation in this file and inprecomp_flt_hybrid.c !!! The current settings in the code seemto work well for us. They may be taken as a starting point.With the current settings, the hybrid algorithm was faster(and still stable) than the seminaive algorithm on the DECat bw = 1024 for orders m = 0 through (roughly) m = 100;on an SGI and HP, at the same bandwidth, the hybrid algorithmwas faster (and still stable) for orders m = 0 through(roughly) m = 512. Again, your mileage may vary!!!test_flt_hybrid.c - sample main for computing the forwardsimple-split/hybrid Legendre transform; used for timing andstability-testing purposes. For bandwidths through 1024.Is stable!Compile the code with the command make test_flt_hybrid##################################################################################################################################################################################################################CODE RELEVANT FOR SPHERICAL TRANSFORMS----------------------------------------------------------------------------As the size/bandwidth of the spherical transform increases, sodo the memory requirements, and at a very high (and alarming?)rate. Please read the BACKGROUND file for important informationconcerning this issue.MathFace.c - code to interface with Mathematica-generated tables.Fast Fourier Transform (FFT) code---------------------------------FFTcode.c - as advertised.permroots.c - contains the 4096 4096th roots of unity in bit-reversed order.indextables.c - tables containing bit-reverse permutation indices.FAST SPHERICAL HARMONIC TRANSFORMS-----------------------------------FST_semi_memo.c - source code to perform convolutions on the2-sphere using a semi-naive algorithm; EXPECTS PRECOMPUTEDDATA TO BE IN MEMORYFST_semi_fly.c - source code to perform convolutions on the2-sphere using a semi-naive algorithm; COMPUTES PRECOMPUTEDDATA AS NEEDED, ON THE FLYFST_semi_disk.c - source code to perform convolutions on the2-sphere using a semi-naive algorithm; EXPECTS TO READPRECOMPUTED DATA OFF DISKFST_hybrid_memo.c - source code to perform convolutions on the2-sphere using hybrid algorithm in the forward direction andsemi-naive algorithm in the reverse; EXPECTS PRECOMPUTEDDATA TO BE IN MEMORYFST_hybrid_memoX.c - just like FST_hybrid_memo.c EXCEPT itwrites over the input data during the algorithm (i.e. sothere is less memory to allocate)FST_hybrid_disk.c - source code to perform convolutions on the2-sphere using hybrid algorithm in the forward direction andsemi-naive algorithm in the reverse; EXPECTS TO READPRECOMPUTED DATA OFF DISKWhen we say that the hybrid algorithm was used in theforward transform direction, this is what we mean.Suppose we are doing a forward spherical transform oforder BW. For orders m = 0 through m = LIM (where, inour tests, LIM = BW/4 for BW = 64 through 512, LIM = BW/2for BW = 1024), the hybrid Legendre transform algorithmwas used. For orders m = LIM + 1 through m = BW - 1,the seminaive Legendre transform algorithm was used.The code here uses the above LIM settings. Other LIMsettings may be better for you. Again, it cannot bestressed enough, see precomp_flt_hybrid.c and flt_hybrid.cfor details!What follows are now the spherical executables:1) FST_precomp2disk.c - routine to compute and save to diskthe precomputed data required by the forward and reverseseminaive spherical transform and the forward hybridspherical transform; for bw = 8 for seminaive, bw = 16for hybrid, through 1024Compile the code with the command make FST_precomp2disk2) test_FST_semi_memo.c - sample main for computing forwardand reverse spherical transforms using the seminaive algorithm;used for timing and stability-testing purposes;for bw = 8 through 512; EXPECTS PRECOMPUTED DATA TO BEIN MEMORYCompile the code with the command make test_FST_semi_memo3) test_FST_semi_fly.c - sample main for computing forwardand reverse spherical transforms using the seminaive algorithm;used for timing and stability-testing purposes;for bw = 8 through 1024; COMPUTES PRECOMPUTED DATA AS NEEDED,ON THE FLYCompile the code with the command make test_FST_semi_fly4) test_FST_semi_disk.c - sample main for computing forwardand reverse spherical transforms using the seminaive algorithm;used for timing and stability-testing purposes;for bw = 8 through 1024; EXPECTS TO READ PRECOMPUTED DATAOFF DISKCompile the code with the command make test_FST_semi_disk5) test_FST_hybrid_memo.c - sample main for computing forwardspherical transform using the hybrid algorithm and thereverse spherical transform using the seminaive algorithm;used for timing and stability-testing purposes;for bw = 64 through 512; EXPECTS PRECOMPUTED DATA TO BEIN MEMORYCompile the code with the command make test_FST_hybrid_memo6) test_FST_hybrid_memoX.c - sample main for computing forwardspherical transform using the hybrid algorithm and thereverse spherical transform using the seminaive algorithm(memory-friendly version); used for timing and stability-testingpurposes; for bw = 64 through 512; EXPECTS PRECOMPUTED DATATO BE IN MEMORYCompile the code with the command make test_FST_hybrid_memoX7) test_FST_hybrid_disk.c - sample main for computing forwardspherical transform using the hybrid algorithm and thereverse spherical transform using the seminaive algorithm;used for timing and stability-testing purposes; for bw = 16through 1024; EXPECTS TO READ PRECOMPUTED DATA OFF DISKCompile the code with the command make test_FST_hybrid_disk8) CONV_SEMI_MEMO.c - sample main for convolving two functionsdefined on the 2-sphere using the seminaive algorithm;for bw = 64 through 512; EXPECTS PRECOMPUTED DATA TO BEIN MEMORYCompile the code with the command make CONV_SEMI_MEMO9) CONV_SEMI_FLY.c - sample main for convolving two functionsdefined on the 2-sphere using the seminaive algorithm;for bw = 64 through 1024; COMPUTES PRECOMPUTED DATA AS NEEDED,ON THE FLYCompile the code with the command make CONV_SEMI_FLY10) CONV_SEMI_DISK.c - sample main for convolving two functionsdefined on the 2-sphere using the seminaive algorithm;for bw = 64 through 512; EXPECTS TO READ PRECOMPUTED DATAOFF DISKCompile the code with the command make CONV_SEMI_DISK11) CONV_HYBRID_MEMO.c - sample main for convolving two functionsdefined on the 2-sphere using the hybrid algorithm in theforward direction and seminaive algorithm in the reverse;for bw = 64 through 512; EXPECTS PRECOMPUTED DATA TO BEIN MEMORYCompile the code with the command make CONV_HYBRID_MEMO11) CONV_HYBRID_DISK.c - sample main for convolving two functionsdefined on the 2-sphere using the hybrid algorithm in theforward direction and seminaive algorithm in the reverse;for bw = 64 through 1024; EXPECTS TO READ PRECOMPUTED DATAOFF DISKCompile the code with the command make CONV_HYBRID_DISKTwo sets of data:sphere_bw64.dat, filter_bw64.datsphere_bw128.dat, filter_bw128.datare provided as examples of inputs for the convolution routines.These files were created by Mathematica (tm).

⌨️ 快捷键说明

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