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

📄 weights.cpp

📁 普林斯顿开发的快速球面调和变换算法
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// weights.cpp: implementation of the weights class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "weights.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

static const double w4[8] = 
{0.06698294569888951, 0.222987933015572, 0.3241525190659486, 
 0.3858766022239052, 0.3858766022242057, 0.3241525190660357, 
 0.222987933015605, 0.06698294569889861};

static const double w8[16] = 
{0.0168027552304648, 0.058336464069326, 0.0917183132052142, 
  0.1251296181582697, 0.1513924616369861, 0.1734194117717632, 
  0.1877497281148386, 0.1954512478118618, 0.1954512478124817, 
  0.187749728115036, 0.1734194117718737, 0.1513924616370552, 
  0.1251296181583115, 0.0917183132052395, 0.0583364640693394, 
  0.0168027552304693};

static const double w16[32] = 
{0.004204256199901001, 0.014748328130096, 0.023629778419644, 
  0.033237125953057, 0.041849747749195, 0.050571719994984, 0.05840156832621, 
  0.065996706406676, 0.07268790949655301, 0.078899622945272, 
  0.084170977199815, 0.088777632866959, 0.092414154989675, 0.095247804861176, 
  0.097103167890767, 0.09805949856685, 0.098059498568105, 0.09710316789118, 
  0.095247804861419, 0.092414154989843, 0.088777632867086, 0.084170977199914, 
  0.07889962294535, 0.07268790949661499, 0.06599670640672201, 
  0.05840156832624701, 0.050571719995013, 0.04184974774921601, 
  0.033237125953072, 0.023629778419653, 0.014748328130102, 0.004204256199904};

static const double w32[64] = 
{0.001051287070134, 0.00369738253841, 0.005951729000078, 0.00843412760248, 
  0.010722073632584, 0.013119273230032, 0.015375045276171, 0.017685873258142, 
  0.019875170205663, 0.022085297687726, 0.02418169220008, 0.026273624541033, 
  0.028254130235429, 0.03020985118730501, 0.032053730303588, 
  0.033855733201296, 0.035544150136538, 0.037175968389769, 0.038691923240227, 
  0.040138463486499, 0.04146682983648501, 0.042714610025193, 
  0.04384221112648501, 0.044879543239542, 0.045795238152625, 
  0.04661237251476801, 0.047307138466904, 0.04789637733659801, 
  0.048363381016468, 0.048719165059896, 0.048953818726571, 0.049072788071371, 
  0.04907278807389301, 0.048953818727408, 0.04871916506039601, 
  0.048363381016822, 0.04789637733687, 0.047307138467123, 0.046612372514951, 
  0.04579523815278, 0.044879543239676, 0.043842211126604, 
  0.04271461002529901, 0.04146682983657701, 0.04013846348658201, 
  0.0386919232403, 0.037175968389834, 0.035544150136597, 0.033855733201345, 
  0.032053730303631, 0.030209851187344, 0.028254130235463, 0.026273624541062, 
  0.024181692200106, 0.022085297687748, 0.019875170205683, 0.017685873258158, 
  0.015375045276184, 0.013119273230042, 0.010722073632593, 0.008434127602487, 
  0.005951729000084, 0.003697382538416, 0.001051287070135};

static const double w64[128] = 
{0.000262835707197, 0.000924989999111, 0.001490708223128, 0.002116377084453, 
  0.002696897333212, 0.003309996179437, 0.003893120261077, 0.004497543115599, 
  0.005078810319213, 0.005675008203167, 0.00625174592528, 0.006839175137552, 
  0.007409342588573999, 0.007987078618147001, 0.008548922859887, 
  0.009115873663663, 0.009667799842016, 0.010222796978386, 0.010763311740366, 
  0.011305155615914, 0.01183284018059, 0.012360325369511, 0.012873822157835, 
  0.013385753079517, 0.013883759122364, 0.014378960637318, 0.01486022460612, 
  0.015337549735279, 0.015800871005997, 0.016259206915535, 0.016703435812042, 
  0.017141708689126, 0.017565747421518, 0.017982926599289, 0.018385730608967, 
  0.018780832153766, 0.019161411686675, 0.019533501577973, 0.019890923371016, 
  0.020239120355893, 0.020572509359939, 0.020895987534359, 0.021204528621207, 
  0.021502519771847, 0.021785459387897, 0.022057255116519, 0.022313902856023, 
  0.022558856500676, 0.022788586578443, 0.023006114940762, 0.023208367548925, 
  0.023397952433377, 0.023572234970434, 0.023733424539198, 0.023879312701991, 
  0.02401172264761, 0.024128861378958, 0.024232175915971, 0.02432028020224, 
  0.024394252878361, 0.02445310839246, 0.024497562719501, 0.024527026305793, 
  0.0245418562091, 0.024541856214155, 0.024527026307477, 0.02449756272051, 
  0.024453108393178, 0.024394252878919, 0.024320280202694, 0.024232175916354, 
  0.024128861379288, 0.0240117226479, 0.023879312702248, 0.023733424539429, 
  0.023572234970644, 0.023397952433567, 0.0232083675491, 0.023006114940923, 
  0.022788586578593, 0.022558856500815, 0.022313902856155, 0.022057255116642, 
  0.021785459388013, 0.021502519771957, 0.021204528621309, 0.020895987534455, 
  0.020572509360028, 0.020239120355979, 0.019890923371095, 0.019533501578048, 
  0.019161411686746, 0.018780832153833, 0.018385730609031, 0.01798292659935, 
  0.017565747421574, 0.017141708689177, 0.01670343581209, 0.016259206915579, 
  0.015800871006039, 0.015337549735318, 0.014860224606157, 0.014378960637354, 
  0.013883759122397, 0.013385753079548, 0.012873822157864, 0.012360325369538, 
  0.011832840180615, 0.011305155615937, 0.010763311740387, 0.010222796978406, 
  0.009667799842034, 0.00911587366368, 0.008548922859902, 
  0.007987078618162001, 0.007409342588588, 0.006839175137563, 
  0.00625174592529, 0.005675008203175001, 0.005078810319221, 
  0.004497543115606001, 0.003893120261083, 0.003309996179442, 
  0.002696897333215, 0.002116377084455, 0.00149070822313, 0.000924989999113, 
  0.000262835707198};

static const double w128[256] = 
{0.00006570979804700001, 0.000231287781681, 0.000372850682377, 
  0.0005295852579860001, 0.000675250395855, 0.000829391556843, 
  0.000976379874001, 0.001129170626245, 0.001276635350415, 0.001428455530568, 
  0.00157599404156, 0.001726971566243, 0.001874335528027, 0.002024499068583, 
  0.002171507648, 0.002320839159993, 0.002467345803675, 0.002615802533704, 
  0.00276168005361, 0.002909205089103, 0.003054338176375, 0.003200866029983, 
  0.003345147175454, 0.003490606977160999, 0.003633934105273, 
  0.003778251544106, 0.00392052657317, 0.004063625141538, 
  0.004204753074832001, 0.004346554902770001, 0.004486443238699001, 
  0.004626869676061001, 0.004765428017920001, 0.004904400055734, 
  0.005041539850622, 0.005178978436418001, 0.005314612800191, 
  0.005450439081433, 0.005584482682361001, 0.005718618199879, 
  0.005850987183271, 0.005983354029097999, 0.006113965971002, 
  0.006244486920353, 0.006373260802234001, 0.006501859426327, 
  0.006628715625060999, 0.00675531638946, 0.006880176678639, 
  0.007004705030490001, 0.007127492590122, 0.007249875036680999, 
  0.007370514469181, 0.007490678649426, 0.007609096000292, 0.007726970750944, 
  0.007843093532933999, 0.007958608949848, 0.008072366169753, 
  0.00818545366546, 0.008296775852748, 0.008407368210702, 0.008516187447504, 
  0.008624218873466, 0.008730468825455, 0.008835874996376, 0.00893949094419, 
  0.009042209054839, 0.009143127925774, 0.009243096733323, 0.009341257133065, 
  0.009438416999793, 0.009533759243988, 0.009628052178236, 0.009720518323772, 
  0.009811888019229, 0.009901421895061, 0.009989813768489, 0.010076361005926, 
  0.01016172223336, 0.010245230295698, 0.010327509847181, 0.01040792805862, 
  0.010487076731504, 0.01056435630527, 0.010640326756109, 0.010714420821715, 
  0.010787167596789, 0.010858031226384, 0.010927510790845, 0.010995101024613, 
  0.01106127179028, 0.011125547660837, 0.011188370012642, 0.011249292568396, 
  0.011308728889492, 0.011366261216937, 0.011422275912458, 0.011476383157352, 
  0.011528942676846, 0.011579592064295, 0.011628664922806, 0.011675825776166, 
  0.011721382573983, 0.011765026332604, 0.011807039773664, 0.011847140009442, 
  0.011885584918387, 0.0119221173511, 0.011956970688993, 0.011989913200414, 
  0.01202115407909, 0.012050486725864, 0.012078096420934, 0.012103801446196, 
  0.012127763408697, 0.012149825252426, 0.012170125119097, 0.012188530427205, 
  0.012205156029404, 0.012219893661527, 0.012232835032782, 0.012243896068789, 
  0.012253145450964, 0.01226052319614, 0.012266075044157, 0.012269765032797, 
  0.012271616015418, 0.012271616025538, 0.012269765036171, 0.01226607504618, 
  0.012260523197585, 0.012253145452086, 0.012243896069705, 0.012232835033557, 
  0.012219893662197, 0.012205156029995, 0.012188530427732, 0.012170125119574, 
  0.012149825252861, 0.012127763409096, 0.012103801446564, 0.012078096421277, 
  0.012050486726183, 0.012021154079388, 0.011989913200695, 0.011956970689258, 
  0.01192211735135, 0.011885584918625, 0.011847140009668, 0.011807039773878, 
  0.011765026332809, 0.011721382574178, 0.011675825776353, 0.011628664922986, 
  0.011579592064467, 0.011528942677012, 0.01147638315751, 0.011422275912611, 
  0.011366261217084, 0.011308728889633, 0.011249292568532, 0.011188370012774, 
  0.011125547660964, 0.011061271790402, 0.010995101024731, 0.01092751079096, 
  0.010858031226495, 0.010787167596897, 0.01071442082182, 0.010640326756211, 
  0.010564356305369, 0.0104870767316, 0.010407928058713, 0.010327509847272, 
  0.010245230295784, 0.010161722233445, 0.010076361006008, 0.009989813768569, 
  0.009901421895139, 0.009811888019304, 0.009720518323844, 0.009628052178306, 
  0.009533759244057, 0.00943841699986, 0.009341257133129, 0.009243096733387, 
  0.009143127925836, 0.009042209054899, 0.008939490944248, 0.008835874996432, 
  0.008730468825509, 0.008624218873518, 0.008516187447556, 0.008407368210752, 
  0.008296775852796, 0.008185453665507, 0.008072366169798, 
  0.007958608949892002, 0.007843093532976999, 0.007726970750985, 
  0.007609096000332, 0.007490678649464999, 0.007370514469219001, 
  0.007249875036717001, 0.007127492590157001, 0.007004705030525001, 
  0.006880176678672, 0.006755316389493001, 0.006628715625090999, 
  0.006501859426356999, 0.006373260802263001, 0.006244486920381, 
  0.006113965971028001, 0.005983354029124, 0.005850987183295999, 
  0.005718618199903001, 0.005584482682384, 0.005450439081455001, 
  0.005314612800212, 0.005178978436438, 0.005041539850642, 0.004904400055753, 
  0.004765428017938001, 0.004626869676079, 0.004486443238715, 
  0.004346554902785, 0.004204753074847, 0.004063625141552, 0.003920526573184, 
  0.003778251544119, 0.003633934105285, 0.003490606977173, 0.003345147175465, 
  0.003200866029994, 0.003054338176383, 0.002909205089113, 0.002761680053618, 
  0.002615802533712, 0.002467345803683, 0.00232083916, 0.002171507648006, 
  0.00202449906859, 0.001874335528032, 0.001726971566249, 0.001575994041564, 
  0.001428455530574, 0.001276635350418, 0.001129170626249, 0.000976379874003, 
  0.000829391556847, 0.000675250395855, 0.00052958525799, 0.000372850682373, 
  0.000231287781669, 0.00006570979804800002};

static const double w256[512] = 
{0.000016427503969, 0.000057824463176, 0.000093223524253, 0.000132427011547, 
  0.000168876765095, 0.000207466271305, 0.000244288939511, 0.000282592182481, 
  0.0003195930246610001, 0.0003577218931030001, 0.00039481716083, 
  0.0004328205129590001, 0.00046996497087, 0.0005078667900809999, 
  0.000545032008038, 0.000582844522457, 0.000620010557182, 0.000657739728682, 
  0.00069489138259, 0.0007325395316460002, 0.000769664468754, 
  0.000807231658003, 0.000844319371608, 0.000881804191424, 0.000918845400182, 
  0.000956245441742, 0.0009932317174, 0.001030543871494, 0.001067467399453, 
  0.001104688052859, 0.001141541472578, 0.001178666641542, 0.001215442936965, 
  0.001252468360569, 0.001289160782934, 0.001326081990093, 0.001362684002397, 
  0.001399496360993, 0.001436001597243, 0.001472700350903, 0.001509102585759, 
  0.001545682881865, 0.001581976007687, 0.001618432919092, 0.001654610928387, 
  0.001690939470468, 0.001726996442331, 0.001763191586607, 0.00179912167614, 
  0.001835178361276, 0.001870975791298, 0.001906888932103, 0.001942547986597, 
  0.001978312481493, 0.002013827500412, 0.002049438237672, 0.00208480361283, 
  0.002120255475876, 0.00215546564766, 0.002190753519593, 0.00222580297437, 
  0.002260921741886, 0.00229580500995, 0.002330749566754, 0.002365461220714, 
  0.002400226470536, 0.002434761124065, 0.002469341983335, 0.002503694290216, 
  0.002538085690463, 0.002572250343879, 0.002606447233903, 0.002640418965931, 
  0.002674416313774, 0.002708189895049, 0.002741982689808, 0.002775552929325, 
  0.002809136182823, 0.002842497927869, 0.002875866676207, 0.002909014812378, 
  0.002942164117387, 0.002975093568704, 0.003008018519307, 0.003040724248398, 

⌨️ 快捷键说明

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