个人资料

跳过导航链接首页 > 博客列表 > 博客正文

LookUpTable2006查表法CHF代码(C#)

分类:
    public class CHF
    {
        public static double[,,] QLUT = new double[15, 21, 23];

        static CHF()
        {
            #region Look-up-table-2006 data

            ///p = 100.0
            ///G=0~8000
            double[] G_0 = new double[23]
            {
                8111,
                7252,
                6302,
                4802,
                4086,
                3057,
                1990,
                1142,
                637,
                415,
                284,
                223,
                188,
                165,
                152,
                142,
                133,
                123,
                114,
                110,
                96,
                55,
                0.0
            };
            double[] G_50 = new double[23]
            {
                8317,
                7271,
                6326,
                5035,
                4236,
                3453,
                2420,
                1570,
                1011,
                784,
                641,
                587,
                553,
                531,
                475,
                443,
                419,
                387,
                347,
                277,
                239,
                204,
                0.0
            };
            double[] G_100 = new double[23]
            {
                8390,
                7295,
                6371,
                5322,
                4586,
                3640,
                2942,
                2103,
                1558,
                1275,
                1013,
                885,
                847,
                811,
                789,
                758,
                745,
                715,
                700,
                600,
                459,
                359,
                0.0
            };
            double[] G_300 = new double[23]
            {
                10698,
                9288,
                7795,
                6020,
                5009,
                3865,
                3196,
                2479,
                1961,
                1707,
                1317,
                1177,
                1172,
                1159,
                1150,
                1100,
                1085,
                1041,
                1031,
                675,
                517,
                366,
                0.0
            };
            double[] G_500 = new double[23]
            {
                12882,
                10946,
                9224,
                6791,
                5348,
                3938,
                3369,
                2685,
                2087,
                1808,
                1412,
                1347,
                1311,
                1303,
                1282,
                1260,
                1212,
                1193,
                1071,
                605,
                450,
                295,
                0.0
            };
            double[] G_750 = new double[23]
            {
                16982,
                14405,
                11641,
                7496,
                5662,
                4234,
                3471,
                2780,
                2229,
                1970,
                1649,
                1606,
                1591,
                1563,
                1510,
                1495,
                1400,
                1280,
                595,
                415,
                243,
                206,
                0.0
            };
            double[] G_1000 = new double[23]
            {
                19441,
                16278,
                13255,
                8232,
                5971,
                4495,
                3533,
                3012,
                2653,
                2349,
                2070,
                2000,
                1980,
                1930,
                1715,
                1550,
                1359,
                1165,
                503,
                322,
                172,
                105,
                0.0
            };
            double[] G_1500 = new double[23]
            {
                22781,
                19225,
                15465,
                9100,
                6603,
                5358,
                3741,
                3524,
                3166,
                2917,
                2635,
                2572,
                2467,
                2378,
                1908,
                1350,
                1005,
                815,
                302,
                210,
                126,
                51,
                0.0
            };
            double[] G_2000 = new double[23]
            {
                25268,
                21321,
                17143,
                9141,
                7059,
                6036,
                4074,
                3855,
                3556,
                3402,
                3167,
                2986,
                2720,
                2549,
                1696,
                1105,
                805,
                595,
                247,
                105,
                87,
                39,
                0.0
            };
            double[] G_2500 = new double[23]
            {
                28026,
                23599,
                18346,
                9503,
                7506,
                6516,
                4502,
                4047,
                3852,
                3599,
                3228,
                3019,
                2676,
                2458,
                1148,
                956,
                708,
                485,
                290,
                120,
                46,
                22,
                0.0
            };
            double[] G_3000 = new double[23]
            {
                30294,
                25465,
                19383,
                9779,
                8063,
                7088,
                4826,
                4182,
                3976,
                3389,
                2968,
                2706,
                2369,
                1829,
                940,
                846,
                665,
                532,
                302,
                159,
                55,
                20,
                0.0
            };
            double[] G_3500 = new double[23]
            {
                32227,
                27043,
                21068,
                10156,
                8518,
                7302,
                5113,
                4384,
                4106,
                3196,
                2769,
                2557,
                2311,
                1729,
                1158,
                891,
                817,
                670,
                402,
                210,
                75,
                28,
                0.0
            };
            double[] G_4000 = new double[23]
            {
                33928,
                28471,
                22722,
                10512,
                8728,
                7528,
                5582,
                4709,
                4228,
                3119,
                2736,
                2504,
                2282,
                1850,
                1470,
                1160,
                1030,
                823,
                475,
                248,
                96,
                38,
                0.0
            };
            double[] G_4500 = new double[23]
            {
                35406,
                29774,
                23890,
                10945,
                9088,
                8067,
                6267,
                5013,
                4272,
                3287,
                2769,
                2541,
                2304,
                1972,
                1718,
                1405,
                1185,
                969,
                585,
                289,
                129,
                61,
                0.0
            };
            double[] G_5000 = new double[23]
            {
                36808,
                30988,
                24979,
                11185,
                9592,
                8576,
                6748,
                5113,
                4342,
                3410,
                2890,
                2629,
                2355,
                2066,
                1779,
                1498,
                1247,
                1030,
                647,
                347,
                167,
                81,
                0.0
            };
            double[] G_5500 = new double[23]
            {
                38232,
                32141,
                25791,
                11929,
                10084,
                8940,
                6867,
                5175,
                4389,
                3465,
                2954,
                2680,
                2406,
                2128,
                1848,
                1595,
                1334,
                1118,
                729,
                409,
                206,
                101,
                0.0
            };
            double[] G_6000 = new double[23]
            {
                39525,
                33222,
                26637,
                13026,
                10396,
                9347,
                6919,
                5241,
                4423,
                3580,
                2921,
                2681,
                2447,
                2170,
                1908,
                1651,
                1418,
                1204,
                807,
                468,
                244,
                121,
                0.0
            };
            double[] G_6500 = new double[23]
            {
                40727,
                34244,
                27480,
                14371,
                10748,
                9701,
                6995,
                5295,
                4491,
                3620,
                2918,
                2694,
                2477,
                2209,
                1965,
                1719,
                1493,
                1281,
                878,
                523,
                282,
                142,
                0.0
            };
            double[] G_7000 = new double[23]
            {
                41950,
                35224,
                28165,
                15045,
                11091,
                10522,
                7062,
                5370,
                4513,
                3668,
                2958,
                2724,
                2501,
                2247,
                2013,
                1780,
                1559,
                1349,
                943,
                576,
                319,
                162,
                0.0
            };
            double[] G_7500 = new double[23]
            {
                43448,
                36075,
                28604,
                15822,
                11538,
                10726,
                7087,
                5381,
                4585,
                3699,
                2996,
                2751,
                2526,
                2285,
                2060,
                1838,
                1622,
                1414,
                1000,
                615,
                347,
                180,
                0.0
            };
            double[] G_8000 = new double[23]
            {
                44338,
                36803,
                29089,
                16599,
                12085,
                10900,
                7313,
                5392,
                4689,
                3780,
                3031,
                2778,
                2553,
                2320,
                2103,
                1890,
                1679,
                1473,
                1054,
                651,
                371,
                196,
                0.0
            };
            Matrix<double> p_100 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 300.0
            G_0 = new double[23]
            {
                8027,
                7043,
                6206,
                4761,
                4106,
                3131,
                2483,
                1374,
                883,
                606,
                420,
                313,
                248,
                205,
                180,
                165,
                148,
                141,
                135,
                131,
                125,
                67,
                0.0
            };
            G_50 = new double[23]
            {
                8153,
                7058,
                6287,
                5304,
                4564,
                3729,
                2847,
                2071,
                1587,
                1315,
                1052,
                871,
                709,
                599,
                516,
                499,
                457,
                389,
                372,
                362,
                274,
                207,
                0.0
            };
            G_100 = new double[23]
            {
                8418,
                7315,
                6499,
                5509,
                4883,
                4013,
                3238,
                2638,
                2150,
                1869,
                1528,
                1373,
                1262,
                1183,
                1127,
                1065,
                1057,
                1033,
                902,
                691,
                502,
                394,
                0.0
            };
            G_300 = new double[23]
            {
                10397,
                9094,
                7805,
                6085,
                5320,
                4107,
                3429,
                3011,
                2617,
                2263,
                1862,
                1657,
                1614,
                1576,
                1513,
                1480,
                1446,
                1403,
                1193,
                722,
                572,
                419,
                0.0
            };
            G_500 = new double[23]
            {
                12787,
                10894,
                9193,
                6962,
                5664,
                4134,
                3563,
                3285,
                2821,
                2405,
                2001,
                1832,
                1688,
                1663,
                1610,
                1610,
                1520,
                1504,
                1112,
                616,
                452,
                297,
                0.0
            };
            G_750 = new double[23]
            {
                16084,
                13658,
                11132,
                7493,
                5853,
                4282,
                3743,
                3512,
                2987,
                2538,
                2062,
                1868,
                1698,
                1676,
                1636,
                1598,
                1447,
                1300,
                656,
                440,
                253,
                207,
                0.0
            };
            G_1000 = new double[23]
            {
                17866,
                15378,
                12753,
                8194,
                6038,
                4572,
                3898,
                3610,
                3224,
                2791,
                2450,
                2230,
                2070,
                1990,
                1805,
                1570,
                1369,
                1173,
                523,
                334,
                184,
                112,
                0.0
            };
            G_1500 = new double[23]
            {
                21559,
                18208,
                14718,
                9252,
                7091,
                6091,
                4818,
                4243,
                3557,
                3134,
                2981,
                2720,
                2658,
                2491,
                2042,
                1365,
                1016,
                813,
                308,
                210,
                130,
                57,
                0.0
            };
            G_2000 = new double[23]
            {
                23993,
                20257,
                16367,
                10134,
                8179,
                6790,
                5171,
                4462,
                3759,
                3490,
                3410,
                3232,
                2894,
                2672,
                1803,
                1108,
                822,
                599,
                254,
                118,
                88,
                41,
                0.0
            };
            G_2500 = new double[23]
            {
                26215,
                22280,
                18013,
                10477,
                8534,
                7134,
                5245,
                4519,
                3951,
                3681,
                3444,
                3248,
                2846,
                2521,
                1168,
                981,
                732,
                488,
                292,
                132,
                47,
                23,
                0.0
            };
            G_3000 = new double[23]
            {
                27747,
                23975,
                19028,
                10840,
                8691,
                7393,
                5326,
                4551,
                4081,
                3502,
                3082,
                2977,
                2523,
                1868,
                945,
                852,
                681,
                534,
                304,
                161,
                56,
                21,
                0.0
            };
            G_3500 = new double[23]
            {
                29254,
                25440,
                20427,
                10948,
                8793,
                7585,
                5600,
                4681,
                4195,
                3283,
                2967,
                2695,
                2389,
                1788,
                1170,
                895,
                820,
                675,
                410,
                226,
                76,
                29,
                0.0
            };
            G_4000 = new double[23]
            {
                30763,
                26771,
                21520,
                11006,
                8997,
                8017,
                6253,
                5184,
                4271,
                3344,
                2951,
                2648,
                2383,
                1960,
                1500,
                1170,
                1050,
                850,
                499,
                264,
                97,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                32150,
                27994,
                22599,
                11137,
                9388,
                8517,
                6725,
                5594,
                4329,
                3504,
                2981,
                2677,
                2408,
                2094,
                1746,
                1423,
                1228,
                998,
                600,
                304,
                126,
                59,
                0.0
            };
            G_5000 = new double[23]
            {
                33465,
                29133,
                23700,
                11600,
                9705,
                8845,
                7103,
                6052,
                4369,
                3655,
                3048,
                2739,
                2449,
                2139,
                1843,
                1542,
                1289,
                1061,
                665,
                358,
                165,
                80,
                0.0
            };
            G_5500 = new double[23]
            {
                34919,
                30223,
                24325,
                12512,
                10147,
                9115,
                7281,
                6122,
                4427,
                3720,
                3070,
                2776,
                2501,
                2200,
                1881,
                1636,
                1377,
                1153,
                748,
                418,
                206,
                100,
                0.0
            };
            G_6000 = new double[23]
            {
                36122,
                31241,
                25169,
                13522,
                10870,
                9576,
                7398,
                6323,
                4481,
                3685,
                3104,
                2773,
                2543,
                2247,
                1942,
                1708,
                1462,
                1241,
                828,
                476,
                244,
                121,
                0.0
            };
            G_6500 = new double[23]
            {
                37231,
                32198,
                25960,
                14708,
                11330,
                10024,
                7446,
                6440,
                4571,
                3705,
                3123,
                2783,
                2578,
                2288,
                2004,
                1783,
                1543,
                1320,
                902,
                532,
                268,
                142,
                0.0
            };
            G_7000 = new double[23]
            {
                38099,
                33093,
                26558,
                15513,
                11759,
                10532,
                7599,
                6469,
                4650,
                3772,
                3155,
                2812,
                2605,
                2327,
                2037,
                1844,
                1611,
                1391,
                970,
                586,
                303,
                150,
                0.0
            };
            G_7500 = new double[23]
            {
                38989,
                34027,
                27283,
                16123,
                12062,
                10765,
                7689,
                6500,
                4702,
                3784,
                3221,
                2839,
                2625,
                2361,
                2095,
                1898,
                1673,
                1456,
                1029,
                627,
                331,
                166,
                0.0
            };
            G_8000 = new double[23]
            {
                39744,
                34510,
                27900,
                16757,
                12891,
                11128,
                7784,
                6544,
                4760,
                3892,
                3228,
                2867,
                2649,
                2395,
                2126,
                1946,
                1728,
                1514,
                1083,
                664,
                356,
                181,
                0.0
            };
            Matrix<double> p_300 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 500.0
            G_0 = new double[23]
            {
                7743,
                6834,
                5910,
                4720,
                4136,
                3342,
                2518,
                1607,
                1129,
                798,
                557,
                404,
                308,
                245,
                209,
                188,
                163,
                159,
                157,
                156,
                137,
                105,
                0.0
            };
            G_50 = new double[23]
            {
                7983,
                7004,
                6274,
                5355,
                4711,
                3853,
                2989,
                2170,
                1731,
                1344,
                1119,
                958,
                852,
                775,
                684,
                556,
                495,
                465,
                407,
                395,
                282,
                235,
                0.0
            };
            G_100 = new double[23]
            {
                8478,
                7421,
                6632,
                5627,
                5080,
                4057,
                3317,
                2754,
                2270,
                1988,
                1704,
                1399,
                1316,
                1229,
                1188,
                1122,
                1116,
                1109,
                940,
                711,
                523,
                417,
                0.0
            };
            G_300 = new double[23]
            {
                10280,
                8983,
                7804,
                6235,
                5491,
                4193,
                3498,
                3165,
                2835,
                2537,
                2243,
                2028,
                1826,
                1647,
                1611,
                1545,
                1503,
                1464,
                1255,
                749,
                592,
                449,
                0.0
            };
            G_500 = new double[23]
            {
                12694,
                10885,
                9073,
                7008,
                5780,
                4281,
                3671,
                3339,
                3157,
                2811,
                2462,
                2253,
                1933,
                1711,
                1651,
                1630,
                1534,
                1506,
                1177,
                676,
                476,
                300,
                0.0
            };
            G_750 = new double[23]
            {
                15186,
                12992,
                10624,
                7610,
                5957,
                4356,
                3855,
                3630,
                3442,
                2994,
                2680,
                2379,
                1982,
                1740,
                1699,
                1615,
                1469,
                1307,
                684,
                503,
                274,
                209,
                0.0
            };
            G_1000 = new double[23]
            {
                17460,
                14778,
                12051,
                8057,
                6145,
                4629,
                4062,
                3870,
                3684,
                3304,
                3109,
                2885,
                2613,
                2251,
                1927,
                1599,
                1399,
                1179,
                540,
                362,
                186,
                119,
                0.0
            };
            G_1500 = new double[23]
            {
                20438,
                17191,
                13972,
                9365,
                7340,
                6298,
                5248,
                4711,
                4048,
                3594,
                3491,
                3278,
                3149,
                2774,
                2123,
                1382,
                1056,
                833,
                310,
                215,
                134,
                65,
                0.0
            };
            G_2000 = new double[23]
            {
                22719,
                19293,
                15591,
                10327,
                8310,
                7309,
                5675,
                5017,
                4215,
                3772,
                3693,
                3578,
                3169,
                2795,
                1850,
                1115,
                832,
                603,
                260,
                132,
                89,
                43,
                0.0
            };
            G_2500 = new double[23]
            {
                25104,
                20961,
                17081,
                10751,
                8703,
                7675,
                5987,
                5151,
                4435,
                3863,
                3759,
                3478,
                3017,
                2647,
                1176,
                1009,
                780,
                492,
                296,
                145,
                48,
                24,
                0.0
            };
            G_3000 = new double[23]
            {
                26621,
                22486,
                18273,
                11002,
                8920,
                8034,
                6194,
                5168,
                4595,
                3955,
                3690,
                3216,
                2761,
                1905,
                948,
                862,
                698,
                560,
                306,
                163,
                58,
                22,
                0.0
            };
            G_3500 = new double[23]
            {
                28248,
                23838,
                19186,
                11141,
                9008,
                8154,
                6399,
                5384,
                4757,
                3992,
                3489,
                3066,
                2723,
                1856,
                1201,
                899,
                825,
                681,
                420,
                229,
                77,
                30,
                0.0
            };
            G_4000 = new double[23]
            {
                29719,
                25071,
                20019,
                11201,
                9267,
                8238,
                6955,
                5858,
                4922,
                4029,
                3355,
                2991,
                2692,
                2090,
                1540,
                1180,
                1060,
                870,
                532,
                271,
                98,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                31075,
                26215,
                20508,
                11429,
                9919,
                8968,
                7201,
                6212,
                5083,
                4098,
                3257,
                2958,
                2663,
                2204,
                1776,
                1437,
                1240,
                1003,
                612,
                315,
                124,
                54,
                0.0
            };
            G_5000 = new double[23]
            {
                32376,
                27279,
                21190,
                11913,
                10245,
                9208,
                7321,
                6399,
                5162,
                4132,
                3186,
                2907,
                2639,
                2230,
                1858,
                1551,
                1310,
                1085,
                693,
                368,
                153,
                70,
                0.0
            };
            G_5500 = new double[23]
            {
                33684,
                28306,
                22359,
                12695,
                10581,
                9306,
                7407,
                6209,
                5291,
                4141,
                3175,
                2896,
                2637,
                2259,
                1927,
                1651,
                1401,
                1178,
                772,
                423,
                186,
                86,
                0.0
            };
            G_6000 = new double[23]
            {
                34756,
                29261,
                23302,
                14018,
                11114,
                9598,
                7526,
                6332,
                5399,
                4190,
                3180,
                2913,
                2652,
                2287,
                1985,
                1728,
                1482,
                1263,
                850,
                478,
                220,
                103,
                0.0
            };
            G_6500 = new double[23]
            {
                35781,
                30153,
                24141,
                14945,
                11567,
                9948,
                7751,
                6496,
                5481,
                4230,
                3246,
                2935,
                2666,
                2319,
                2029,
                1797,
                1560,
                1342,
                927,
                534,
                254,
                121,
                0.0
            };
            G_7000 = new double[23]
            {
                36804,
                30962,
                24952,
                15581,
                12151,
                10333,
                8027,
                6828,
                5588,
                4307,
                3294,
                2939,
                2682,
                2361,
                2077,
                1864,
                1632,
                1416,
                997,
                588,
                288,
                139,
                0.0
            };
            G_7500 = new double[23]
            {
                38036,
                31979,
                25663,
                16185,
                12686,
                10753,
                8176,
                6845,
                5700,
                4370,
                3351,
                2947,
                2697,
                2398,
                2127,
                1918,
                1695,
                1480,
                1060,
                631,
                315,
                153,
                0.0
            };
            G_8000 = new double[23]
            {
                39197,
                33017,
                26712,
                17016,
                13200,
                11107,
                8256,
                6896,
                5794,
                4485,
                3389,
                3069,
                2734,
                2442,
                2177,
                1967,
                1751,
                1540,
                1120,
                672,
                342,
                166,
                0.0
            };
            Matrix<double> p_500 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 1000.0
            G_0 = new double[23]
            {
                7347,
                6383,
                5570,
                4657,
                4175,
                3535,
                2776,
                2159,
                1820,
                1320,
                940,
                678,
                492,
                377,
                318,
                291,
                269,
                254,
                231,
                220,
                193,
                145,
                0.0
            };
            G_50 = new double[23]
            {
                7700,
                6956,
                6204,
                5406,
                4891,
                4169,
                3412,
                2702,
                2473,
                1966,
                1607,
                1351,
                1179,
                1068,
                933,
                770,
                723,
                706,
                586,
                522,
                369,
                282,
                0.0
            };
            G_100 = new double[23]
            {
                8581,
                7702,
                6906,
                5824,
                5173,
                4600,
                4000,
                3609,
                3069,
                2549,
                2380,
                2216,
                2087,
                1949,
                1798,
                1700,
                1652,
                1541,
                1280,
                1078,
                708,
                501,
                0.0
            };
            G_300 = new double[23]
            {
                10093,
                8830,
                7796,
                6476,
                5710,
                4793,
                4140,
                4013,
                3901,
                3685,
                3471,
                3372,
                3276,
                3172,
                2993,
                2871,
                2766,
                2594,
                1727,
                1302,
                815,
                514,
                0.0
            };
            G_500 = new double[23]
            {
                12148,
                10478,
                8703,
                7200,
                6004,
                4837,
                4259,
                4124,
                4063,
                3995,
                3980,
                3953,
                3938,
                3790,
                3678,
                3579,
                3537,
                3445,
                1564,
                1067,
                649,
                377,
                0.0
            };
            G_750 = new double[23]
            {
                14675,
                12510,
                10033,
                7775,
                6255,
                4896,
                4378,
                4337,
                4228,
                4200,
                4162,
                4083,
                3997,
                3851,
                3810,
                3473,
                3291,
                3102,
                832,
                623,
                322,
                213,
                0.0
            };
            G_1000 = new double[23]
            {
                17023,
                14042,
                11114,
                8024,
                6275,
                4978,
                4804,
                4736,
                4616,
                4351,
                4177,
                4099,
                3998,
                3896,
                3708,
                3148,
                2620,
                1199,
                636,
                391,
                189,
                128,
                0.0
            };
            G_1500 = new double[23]
            {
                20026,
                16859,
                13366,
                9481,
                7659,
                6918,
                6497,
                5831,
                5246,
                4610,
                4271,
                4057,
                3704,
                3655,
                3049,
                1601,
                1238,
                843,
                315,
                218,
                138,
                75,
                0.0
            };
            G_2000 = new double[23]
            {
                22495,
                18764,
                14921,
                10539,
                9084,
                7740,
                6830,
                6373,
                5480,
                4704,
                4407,
                3992,
                3596,
                3330,
                1957,
                1122,
                873,
                624,
                268,
                155,
                90,
                46,
                0.0
            };
            G_2500 = new double[23]
            {
                24717,
                20601,
                16332,
                11001,
                9794,
                8318,
                7090,
                6583,
                5633,
                4794,
                4338,
                3811,
                3566,
                2927,
                1197,
                1012,
                823,
                521,
                300,
                149,
                49,
                26,
                0.0
            };
            G_3000 = new double[23]
            {
                26264,
                22053,
                17370,
                11532,
                10209,
                8496,
                7195,
                6673,
                5671,
                4871,
                4244,
                3718,
                3325,
                2007,
                977,
                895,
                701,
                583,
                313,
                168,
                59,
                24,
                0.0
            };
            G_3500 = new double[23]
            {
                27894,
                23473,
                18245,
                11516,
                10075,
                8480,
                7278,
                6704,
                5714,
                4887,
                4229,
                3597,
                3109,
                1924,
                1223,
                919,
                831,
                690,
                431,
                247,
                80,
                33,
                0.0
            };
            G_4000 = new double[23]
            {
                29406,
                24586,
                18990,
                11029,
                9419,
                8550,
                7359,
                6714,
                5752,
                4750,
                4075,
                3520,
                3031,
                2210,
                1620,
                1230,
                1090,
                890,
                545,
                300,
                101,
                40,
                0.0
            };
            G_4500 = new double[23]
            {
                30773,
                25743,
                19791,
                11226,
                9952,
                9143,
                7572,
                6924,
                5778,
                4571,
                3881,
                3430,
                2986,
                2349,
                1805,
                1456,
                1249,
                1030,
                629,
                331,
                122,
                51,
                0.0
            };
            G_5000 = new double[23]
            {
                31994,
                26863,
                20592,
                12193,
                10358,
                9185,
                7623,
                6934,
                5919,
                4492,
                3722,
                3317,
                2924,
                2357,
                1874,
                1562,
                1337,
                1109,
                703,
                372,
                146,
                64,
                0.0
            };
            G_5500 = new double[23]
            {
                33271,
                27872,
                21588,
                13122,
                10898,
                9280,
                7551,
                6744,
                6006,
                4590,
                3694,
                3272,
                2887,
                2358,
                1938,
                1664,
                1428,
                1200,
                781,
                427,
                173,
                78,
                0.0
            };
            G_6000 = new double[23]
            {
                34314,
                28814,
                22490,
                14247,
                11388,
                9491,
                7633,
                6655,
                6024,
                4616,
                3548,
                3236,
                2856,
                2372,
                2006,
                1746,
                1506,
                1280,
                856,
                477,
                204,
                95,
                0.0
            };
            G_6500 = new double[23]
            {
                35402,
                29678,
                23127,
                14949,
                11882,
                9883,
                7866,
                6765,
                6151,
                4649,
                3592,
                3194,
                2864,
                2403,
                2060,
                1829,
                1587,
                1362,
                935,
                530,
                236,
                112,
                0.0
            };
            G_7000 = new double[23]
            {
                36417,
                30478,
                23637,
                15247,
                12338,
                10051,
                8088,
                6875,
                6185,
                4676,
                3617,
                3231,
                2818,
                2445,
                2122,
                1909,
                1670,
                1445,
                1008,
                583,
                269,
                129,
                0.0
            };
            G_7500 = new double[23]
            {
                37289,
                31065,
                24195,
                16170,
                12803,
                10604,
                8228,
                6965,
                6238,
                4694,
                3628,
                3251,
                2897,
                2480,
                2219,
                1968,
                1736,
                1512,
                1074,
                630,
                291,
                140,
                0.0
            };
            G_8000 = new double[23]
            {
                38003,
                31712,
                25017,
                17157,
                13534,
                11049,
                8426,
                6995,
                6294,
                4822,
                3674,
                3301,
                2917,
                2547,
                2272,
                2021,
                1794,
                1573,
                1136,
                668,
                312,
                150,
                0.0
            };

            Matrix<double> p_1000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p=2000
            //
            G_0 = new double[23] { 7060, 6243, 5413, 4622, 4189, 3713, 3173, 2594, 2165, 1704, 1302, 970, 745, 587, 491, 438, 380, 361, 323, 317, 232, 170, 0.0 };
            G_50 = new double[23] { 7497, 6756, 6040, 5351, 4927, 4460, 3982, 3450, 3005, 2552, 2160, 1834, 1613, 1447, 1331, 1209, 1089, 1069, 924, 845, 658, 373, 0.0 };
            G_100 = new double[23] { 8767, 7820, 7040, 6207, 5946, 5556, 5241, 4757, 4071, 3657, 3326, 3072, 2933, 2801, 2599, 2487, 2393, 2313, 1996, 1720, 1123, 594, 0.0 };
            G_300 = new double[23] { 9784, 8590, 7775, 7108, 6722, 6403, 6064, 5659, 5220, 4908, 4646, 4362, 4026, 3725, 3563, 3475, 3375, 3276, 2998, 2266, 1252, 690, 0.0 };
            G_500 = new double[23] { 11464, 9687, 8430, 7528, 6977, 6611, 6260, 6084, 5540, 5280, 4924, 4584, 4373, 4197, 4076, 3929, 3828, 3695, 3362, 1898, 1109, 609, 0.0 };
            G_750 = new double[23] { 13730, 11557, 9579, 7868, 7076, 6656, 6388, 6097, 5696, 5338, 5083, 4870, 4700, 4590, 4478, 4396, 4033, 3811, 1948, 1194, 700, 229, 0.0 };
            G_1000 = new double[23] { 16027, 13171, 10583, 7982, 7118, 6692, 6371, 6185, 5781, 5417, 5197, 5083, 4992, 4961, 4792, 4196, 3311, 2751, 1260, 597, 359, 174, 0.0 };
            G_1500 = new double[23] { 18947, 15537, 12233, 9416, 8215, 7670, 7342, 6660, 6095, 5463, 5141, 4871, 4766, 4524, 4389, 2926, 1903, 897, 512, 288, 163, 97, 0.0 };
            G_2000 = new double[23] { 21106, 17297, 13588, 10513, 9584, 8982, 8305, 7261, 6199, 5406, 4996, 4595, 4283, 3824, 3026, 1357, 1172, 682, 418, 196, 97, 60, 0.0 };
            G_2500 = new double[23] { 23353, 19098, 14933, 11161, 10279, 8996, 8116, 7196, 5976, 5302, 4856, 4552, 3943, 3328, 1613, 1237, 958, 556, 313, 157, 53, 29, 0.0 };
            G_3000 = new double[23] { 25197, 20509, 15816, 11602, 10578, 8792, 7549, 7112, 5860, 5169, 4798, 4483, 3798, 2570, 1185, 1020, 731, 594, 331, 172, 59, 27, 0.0 };
            G_3500 = new double[23] { 26816, 21723, 16526, 11317, 10169, 8672, 7475, 7057, 5794, 5042, 4687, 4310, 3476, 2403, 1342, 979, 839, 697, 442, 254, 83, 36, 0.0 };
            G_4000 = new double[23] { 28328, 22765, 16902, 10802, 9806, 8752, 7542, 7103, 5878, 4951, 4485, 3868, 3301, 2367, 1642, 1318, 1147, 996, 606, 318, 104, 40, 0.0 };
            G_4500 = new double[23] { 29717, 23920, 17644, 10857, 9984, 8899, 7663, 7149, 5913, 4875, 4223, 3760, 3206, 2375, 1758, 1445, 1258, 1062, 653, 340, 119, 47, 0.0 };
            G_5000 = new double[23] { 30638, 24767, 18164, 11811, 10290, 9037, 7624, 7195, 5997, 4789, 4069, 3605, 3089, 2389, 1803, 1545, 1346, 1131, 712, 380, 134, 56, 0.0 };
            G_5500 = new double[23] { 32102, 25866, 18832, 12769, 10862, 9069, 7652, 7041, 6021, 4783, 3970, 3532, 3006, 2379, 1897, 1647, 1440, 1212, 781, 412, 153, 67, 0.0 };
            G_6000 = new double[23] { 33085, 26751, 19986, 13576, 11244, 9316, 7681, 6987, 6065, 4800, 3812, 3481, 2959, 2391, 1992, 1742, 1516, 1287, 848, 452, 177, 80, 0.0 };
            G_6500 = new double[23] { 34156, 27592, 20946, 14138, 11703, 9812, 7927, 6933, 6099, 4851, 3728, 3431, 2947, 2452, 2094, 1842, 1602, 1371, 928, 499, 205, 95, 0.0 };
            G_7000 = new double[23] { 35131, 28383, 21563, 14625, 12253, 10016, 8186, 6988, 6134, 4932, 3753, 3344, 2933, 2513, 2190, 1935, 1692, 1458, 1006, 551, 233, 110, 0.0 };
            G_7500 = new double[23] { 35897, 29010, 22130, 15499, 12704, 10558, 8396, 7041, 6198, 5027, 3844, 3322, 2983, 2581, 2286, 2013, 1767, 1530, 1073, 599, 247, 118, 0.0 };
            G_8000 = new double[23] { 36663, 29609, 22628, 16442, 13306, 10940, 8676, 7070, 6292, 5167, 3886, 3403, 3098, 2696, 2363, 2077, 1827, 1595, 1134, 633, 259, 123, 0.0 };
            Matrix<double> p_2000 = Matrix<double>.Build.DenseOfRowArrays(G_0, G_50, G_100, G_300, G_500, G_750, G_1000, G_1500, G_2000, G_2500, G_3000, G_3500, G_4000, G_4500, G_5000, G_5500, G_6000, G_6500, G_7000, G_7500, G_8000);

            //



            //p=3000
            G_0 = new double[23]
            {
                6741,
                6001,
                5272,
                4593,
                4213,
                3873,
                3447,
                2943,
                2431,
                1979,
                1551,
                1181,
                929,
                741,
                615,
                539,
                482,
                443,
                396,
                350,
                247,
                178,
                0.0
            };
            G_50 = new double[23]
            {
                7222,
                6535,
                5910,
                5303,
                4961,
                4653,
                4297,
                3850,
                3325,
                2890,
                2482,
                2126,
                1884,
                1693,
                1549,
                1449,
                1361,
                1333,
                1219,
                1105,
                704,
                429,
                0.0
            };
            G_100 = new double[23]
            {
                8514,
                7599,
                6831,
                6315,
                6057,
                5809,
                5525,
                5121,
                4495,
                3921,
                3575,
                3415,
                3262,
                3171,
                3010,
                2948,
                2926,
                2771,
                2483,
                2059,
                1264,
                672,
                0.0
            };
            G_300 = new double[23]
            {
                9536,
                8324,
                7523,
                7171,
                7064,
                6874,
                6780,
                6474,
                6115,
                5666,
                5165,
                4849,
                4508,
                4218,
                3971,
                3752,
                3545,
                3485,
                3140,
                2620,
                1630,
                893,
                0.0
            };
            G_500 = new double[23]
            {
                10708,
                9149,
                8018,
                7426,
                7188,
                7073,
                6950,
                6649,
                6453,
                5959,
                5439,
                5061,
                4767,
                4432,
                4259,
                4150,
                3967,
                3742,
                3589,
                2645,
                1604,
                956,
                0.0
            };
            G_750 = new double[23]
            {
                12850,
                10680,
                8910,
                7794,
                7444,
                7249,
                7010,
                6753,
                6553,
                6159,
                5644,
                5287,
                4988,
                4677,
                4591,
                4477,
                4271,
                3926,
                3069,
                1951,
                930,
                382,
                0.0
            };
            G_1000 = new double[23]
            {
                14637,
                12105,
                9835,
                7934,
                7668,
                7280,
                7085,
                6777,
                6547,
                6178,
                5762,
                5420,
                5207,
                4928,
                4690,
                4459,
                3879,
                3581,
                2405,
                1146,
                587,
                270,
                0.0
            };
            G_1500 = new double[23]
            {
                17032,
                14038,
                11355,
                9127,
                8517,
                8118,
                7806,
                7186,
                6517,
                6030,
                5546,
                5170,
                4998,
                4699,
                4281,
                3622,
                3030,
                2756,
                755,
                656,
                256,
                139,
                0.0
            };
            G_2000 = new double[23]
            {
                18967,
                15630,
                12632,
                10069,
                9300,
                8626,
                8094,
                7373,
                6337,
                5718,
                5192,
                4738,
                4342,
                3782,
                3448,
                2612,
                1739,
                938,
                499,
                279,
                115,
                82,
                0.0
            };
            G_2500 = new double[23]
            {
                21002,
                17244,
                13569,
                10901,
                9793,
                8745,
                7997,
                7221,
                6085,
                5432,
                4993,
                4483,
                3959,
                3547,
                2900,
                1819,
                978,
                657,
                342,
                169,
                63,
                39,
                0.0
            };
            G_3000 = new double[23]
            {
                22678,
                18551,
                14553,
                11208,
                10022,
                8672,
                7642,
                6860,
                5771,
                5187,
                4839,
                4355,
                3698,
                3152,
                2289,
                1188,
                774,
                578,
                348,
                179,
                63,
                32,
                0.0
            };
            G_3500 = new double[23]
            {
                24225,
                19619,
                15027,
                10936,
                9909,
                8471,
                7428,
                6681,
                5567,
                5023,
                4646,
                4230,
                3567,
                2745,
                1684,
                1107,
                859,
                717,
                458,
                268,
                92,
                39,
                0.0
            };
            G_4000 = new double[23]
            {
                25515,
                20591,
                15544,
                10471,
                9773,
                8428,
                7236,
                6508,
                5489,
                4877,
                4475,
                3897,
                3404,
                2484,
                1609,
                1338,
                1175,
                1004,
                625,
                334,
                110,
                41,
                0.0
            };
            G_4500 = new double[23]
            {
                26660,
                21487,
                15956,
                10512,
                9920,
                8426,
                7206,
                6588,
                5452,
                4690,
                4299,
                3747,
                3179,
                2366,
                1680,
                1410,
                1235,
                1079,
                668,
                355,
                119,
                47,
                0.0
            };
            G_5000 = new double[23]
            {
                27501,
                22290,
                16371,
                11621,
                10005,
                8768,
                7328,
                6596,
                5395,
                4583,
                4141,
                3624,
                3095,
                2314,
                1740,
                1498,
                1329,
                1142,
                717,
                382,
                131,
                54,
                0.0
            };
            G_5500 = new double[23]
            {
                28809,
                23183,
                17231,
                12402,
                10644,
                8980,
                7486,
                6632,
                5297,
                4509,
                3993,
                3593,
                3009,
                2318,
                1828,
                1606,
                1429,
                1215,
                781,
                400,
                147,
                63,
                0.0
            };
            G_6000 = new double[23]
            {
                29772,
                24039,
                18048,
                13154,
                11082,
                9224,
                7628,
                6695,
                5194,
                4444,
                3860,
                3543,
                2963,
                2333,
                1936,
                1719,
                1506,
                1282,
                839,
                434,
                168,
                75,
                0.0
            };
            G_6500 = new double[23]
            {
                30660,
                24751,
                18858,
                13660,
                11303,
                9721,
                7856,
                6714,
                5329,
                4555,
                3791,
                3514,
                2974,
                2439,
                2068,
                1835,
                1598,
                1364,
                917,
                479,
                194,
                89,
                0.0
            };
            G_7000 = new double[23]
            {
                31524,
                25478,
                19488,
                14216,
                11986,
                10000,
                8174,
                6762,
                5540,
                4605,
                3787,
                3398,
                2974,
                2535,
                2197,
                1944,
                1696,
                1457,
                999,
                531,
                223,
                104,
                0.0
            };
            G_7500 = new double[23]
            {
                32450,
                26191,
                20150,
                14817,
                12357,
                10509,
                8486,
                6885,
                5646,
                4685,
                3850,
                3328,
                3008,
                2644,
                2326,
                2034,
                1775,
                1531,
                1067,
                574,
                239,
                112,
                0.0
            };
            G_8000 = new double[23]
            {
                33419,
                26895,
                20708,
                15335,
                12944,
                10989,
                8752,
                6939,
                5798,
                4902,
                3882,
                3428,
                3160,
                2801,
                2418,
                2105,
                1838,
                1597,
                1129,
                605,
                253,
                119,
                0.0
            };
            Matrix<double> p_3000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p=5000

            G_0 = new double[23]
            {
                6044,
                5513,
                4986,
                4500,
                4239,
                3976,
                3666,
                3277,
                2677,
                2242,
                1808,
                1417,
                1154,
                944,
                795,
                694,
                619,
                561,
                456,
                366,
                257,
                191,
                0.0
            };
            G_50 = new double[23]
            {
                6547,
                6028,
                5573,
                5138,
                4921,
                4675,
                4407,
                4046,
                3467,
                3055,
                2662,
                2309,
                2065,
                1869,
                1715,
                1595,
                1493,
                1387,
                1330,
                1160,
                608,
                385,
                0.0
            };
            G_100 = new double[23]
            {
                7615,
                6922,
                6388,
                6040,
                5888,
                5703,
                5517,
                5192,
                4529,
                3997,
                3709,
                3524,
                3374,
                3240,
                3148,
                3053,
                3000,
                2837,
                2575,
                2202,
                1460,
                753,
                0.0
            };
            G_300 = new double[23]
            {
                8492,
                7453,
                6937,
                6709,
                6623,
                6510,
                6401,
                6207,
                5915,
                5395,
                4980,
                4709,
                4502,
                4302,
                3938,
                3662,
                3502,
                3255,
                2890,
                2511,
                1670,
                989,
                0.0
            };
            G_500 = new double[23]
            {
                9226,
                7886,
                7222,
                6839,
                6746,
                6655,
                6577,
                6460,
                6113,
                5594,
                5196,
                4866,
                4637,
                4339,
                4140,
                3882,
                3686,
                3517,
                3085,
                2490,
                1880,
                1104,
                0.0
            };
            G_750 = new double[23]
            {
                10677,
                9042,
                7794,
                7085,
                6908,
                6789,
                6666,
                6491,
                6126,
                5749,
                5213,
                4906,
                4675,
                4350,
                4160,
                3851,
                3574,
                3330,
                2760,
                2380,
                1519,
                814,
                0.0
            };
            G_1000 = new double[23]
            {
                12213,
                10204,
                8466,
                7447,
                7095,
                6989,
                6834,
                6568,
                6028,
                5726,
                5182,
                4796,
                4545,
                4194,
                3883,
                3496,
                3281,
                2974,
                2476,
                1683,
                690,
                379,
                0.0
            };
            G_1500 = new double[23]
            {
                14030,
                11668,
                9617,
                8115,
                7597,
                7296,
                7024,
                6470,
                5710,
                5375,
                4875,
                4438,
                4167,
                3795,
                3357,
                2941,
                2531,
                2290,
                914,
                592,
                393,
                200,
                0.0
            };
            G_2000 = new double[23]
            {
                15633,
                12936,
                10401,
                8530,
                7889,
                7408,
                6946,
                6107,
                5170,
                4836,
                4340,
                3913,
                3599,
                3257,
                2909,
                2412,
                1979,
                1182,
                638,
                354,
                188,
                130,
                0.0
            };
            G_2500 = new double[23]
            {
                17335,
                14268,
                11308,
                8887,
                7972,
                7432,
                6712,
                5661,
                4880,
                4445,
                4017,
                3662,
                3295,
                2876,
                2689,
                1915,
                955,
                651,
                447,
                195,
                99,
                51,
                0.0
            };
            G_3000 = new double[23]
            {
                18794,
                15433,
                12150,
                9231,
                8180,
                7463,
                6490,
                5427,
                4718,
                4265,
                3857,
                3476,
                3104,
                2578,
                2283,
                1429,
                708,
                533,
                405,
                179,
                73,
                41,
                0.0
            };
            G_3500 = new double[23]
            {
                19936,
                16374,
                12894,
                9768,
                8306,
                7477,
                6368,
                5026,
                4484,
                3984,
                3644,
                3312,
                2932,
                2394,
                1781,
                1164,
                910,
                706,
                513,
                290,
                103,
                42,
                0.0
            };
            G_4000 = new double[23]
            {
                20949,
                17217,
                13569,
                9991,
                8683,
                7658,
                6295,
                4783,
                4200,
                3584,
                3367,
                3140,
                2745,
                2274,
                1402,
                1188,
                1060,
                922,
                593,
                320,
                111,
                44,
                0.0
            };
            G_4500 = new double[23]
            {
                21962,
                18016,
                14114,
                10137,
                9063,
                7837,
                6323,
                4905,
                4130,
                3522,
                3305,
                3023,
                2672,
                2065,
                1424,
                1245,
                1128,
                1046,
                649,
                346,
                117,
                46,
                0.0
            };
            G_5000 = new double[23]
            {
                22867,
                18766,
                14525,
                10880,
                9540,
                8183,
                6486,
                5030,
                4103,
                3487,
                3287,
                3017,
                2684,
                2024,
                1455,
                1329,
                1224,
                1112,
                695,
                362,
                124,
                51,
                0.0
            };
            G_5500 = new double[23]
            {
                23661,
                19456,
                15309,
                11569,
                10048,
                8548,
                6741,
                5245,
                4051,
                3480,
                3299,
                3060,
                2672,
                2047,
                1628,
                1480,
                1351,
                1176,
                743,
                379,
                135,
                57,
                0.0
            };
            G_6000 = new double[23]
            {
                24391,
                20103,
                15958,
                12239,
                10650,
                8921,
                7328,
                5430,
                4008,
                3507,
                3314,
                3079,
                2696,
                2057,
                1747,
                1598,
                1449,
                1240,
                793,
                405,
                152,
                67,
                0.0
            };
            G_6500 = new double[23]
            {
                25098,
                20718,
                16511,
                12734,
                10892,
                9511,
                7643,
                5637,
                4183,
                3523,
                3357,
                3128,
                2771,
                2258,
                1947,
                1783,
                1549,
                1314,
                855,
                437,
                172,
                78,
                0.0
            };
            G_7000 = new double[23]
            {
                25860,
                21312,
                16907,
                13189,
                11608,
                9908,
                7949,
                5781,
                4373,
                3553,
                3386,
                3182,
                2857,
                2430,
                2136,
                1893,
                1639,
                1396,
                926,
                482,
                197,
                91,
                0.0
            };
            G_7500 = new double[23]
            {
                26597,
                21982,
                17360,
                13563,
                11914,
                10298,
                8281,
                6006,
                4572,
                3786,
                3444,
                3201,
                2944,
                2603,
                2250,
                1988,
                1716,
                1466,
                990,
                512,
                211,
                98,
                0.0
            };
            G_8000 = new double[23]
            {
                27254,
                22428,
                17865,
                13912,
                12316,
                10851,
                8676,
                6217,
                4805,
                4010,
                3629,
                3362,
                3178,
                2817,
                2409,
                2068,
                1783,
                1533,
                1052,
                543,
                225,
                105,
                0.0
            };
            Matrix<double> p_5000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );
            //p = 7000.0
            G_0 = new double[23]
            {
                5445,
                5059,
                4676,
                4323,
                4139,
                3937,
                3677,
                3322,
                2696,
                2256,
                1848,
                1479,
                1243,
                1036,
                891,
                778,
                692,
                621,
                525,
                389,
                267,
                209,
                0.0
            };
            G_50 = new double[23]
            {
                5919,
                5536,
                5191,
                4863,
                4698,
                4520,
                4306,
                3998,
                3399,
                2986,
                2624,
                2264,
                2042,
                1859,
                1712,
                1588,
                1477,
                1366,
                1151,
                1010,
                473,
                325,
                0.0
            };
            G_100 = new double[23]
            {
                6912,
                6301,
                5871,
                5584,
                5462,
                5261,
                5095,
                4849,
                4271,
                3776,
                3499,
                3290,
                3142,
                3034,
                2906,
                2850,
                2651,
                2486,
                2123,
                1673,
                1205,
                768,
                0.0
            };
            G_300 = new double[23]
            {
                7445,
                6709,
                6259,
                6020,
                5914,
                5761,
                5662,
                5495,
                5182,
                4752,
                4464,
                4070,
                3764,
                3611,
                3417,
                3250,
                3028,
                2738,
                2286,
                1994,
                1408,
                869,
                0.0
            };
            G_500 = new double[23]
            {
                7842,
                6895,
                6435,
                6188,
                5996,
                5931,
                5818,
                5672,
                5408,
                4922,
                4521,
                4196,
                3989,
                3812,
                3602,
                3459,
                3221,
                2905,
                2482,
                1985,
                1547,
                869,
                0.0
            };
            G_750 = new double[23]
            {
                9129,
                7841,
                6867,
                6263,
                6154,
                5998,
                5895,
                5776,
                5430,
                4987,
                4538,
                4131,
                3918,
                3709,
                3464,
                3327,
                3118,
                2770,
                2312,
                1904,
                1400,
                742,
                0.0
            };
            G_1000 = new double[23]
            {
                10186,
                8774,
                7390,
                6532,
                6313,
                6276,
                6162,
                5864,
                5366,
                4920,
                4399,
                3935,
                3723,
                3447,
                3112,
                2884,
                2713,
                2432,
                2085,
                767,
                506,
                341,
                0.0
            };
            G_1500 = new double[23]
            {
                11920,
                10072,
                8460,
                7262,
                6915,
                6647,
                6308,
                5729,
                5059,
                4561,
                4039,
                3612,
                3279,
                2991,
                2698,
                2490,
                2264,
                1591,
                599,
                372,
                318,
                191,
                0.0
            };
            G_2000 = new double[23]
            {
                13294,
                11209,
                9172,
                7557,
                7279,
                6769,
                6187,
                5327,
                4570,
                4020,
                3552,
                3174,
                2864,
                2566,
                2353,
                1919,
                1406,
                793,
                483,
                267,
                197,
                134,
                0.0
            };
            G_2500 = new double[23]
            {
                14680,
                12245,
                9774,
                7920,
                7382,
                6765,
                5895,
                4977,
                4178,
                3639,
                3207,
                2867,
                2552,
                2211,
                1941,
                1487,
                813,
                521,
                342,
                177,
                103,
                58,
                0.0
            };
            G_3000 = new double[23]
            {
                15871,
                13214,
                10463,
                8259,
                7522,
                6778,
                5785,
                4761,
                3971,
                3366,
                3014,
                2640,
                2333,
                2111,
                1685,
                951,
                493,
                429,
                307,
                157,
                77,
                43,
                0.0,
            };
            G_3500 = new double[23]
            {
                16889,
                14072,
                11223,
                8783,
                7744,
                6972,
                5738,
                4518,
                3739,
                3127,
                2816,
                2482,
                2188,
                1798,
                1357,
                851,
                631,
                531,
                388,
                224,
                96,
                44,
                0.0
            };
            G_4000 = new double[23]
            {
                17783,
                14824,
                11868,
                9277,
                8077,
                7118,
                5593,
                4226,
                3539,
                2855,
                2616,
                2362,
                2104,
                1710,
                1251,
                957,
                789,
                681,
                444,
                255,
                99,
                44,
                0.0
            };
            G_4500 = new double[23]
            {
                18619,
                15498,
                12439,
                9619,
                8281,
                7208,
                5381,
                4156,
                3422,
                2650,
                2472,
                2268,
                2057,
                1647,
                1239,
                1006,
                867,
                779,
                487,
                266,
                102,
                45,
                0.0
            };
            G_5000 = new double[23]
            {
                19434,
                16132,
                12870,
                10084,
                8686,
                7415,
                5486,
                4350,
                3409,
                2611,
                2486,
                2251,
                2040,
                1619,
                1279,
                1052,
                950,
                854,
                526,
                277,
                106,
                47,
                0.0
            };
            G_5500 = new double[23]
            {
                20138,
                16733,
                13579,
                10563,
                9272,
                7844,
                6153,
                4649,
                3405,
                2688,
                2460,
                2325,
                2076,
                1662,
                1397,
                1217,
                1065,
                933,
                576,
                298,
                115,
                52,
                0.0
            };
            G_6000 = new double[23]
            {
                20703,
                17309,
                14047,
                11354,
                9947,
                8657,
                6697,
                4756,
                3417,
                2725,
                2487,
                2353,
                2087,
                1697,
                1476,
                1339,
                1184,
                1018,
                637,
                327,
                131,
                60,
                0.0
            };
            G_6500 = new double[23]
            {
                21284,
                17855,
                14610,
                11951,
                10355,
                9156,
                7135,
                4905,
                3437,
                2733,
                2525,
                2442,
                2241,
                1938,
                1688,
                1515,
                1303,
                1103,
                702,
                360,
                149,
                69,
                0.0
            };
            G_7000 = new double[23]
            {
                21889,
                18357,
                15013,
                12260,
                10817,
                9456,
                7309,
                4949,
                3504,
                2872,
                2648,
                2499,
                2348,
                2094,
                1852,
                1615,
                1393,
                1182,
                771,
                401,
                170,
                80,
                0.0
            };
            G_7500 = new double[23]
            {
                22505,
                18841,
                15385,
                12539,
                11244,
                9779,
                7455,
                5004,
                3629,
                3017,
                2792,
                2596,
                2488,
                2263,
                2039,
                1776,
                1504,
                1264,
                838,
                433,
                182,
                86,
                0.0
            };
            G_8000 = new double[23]
            {
                23064,
                19305,
                15794,
                12917,
                11519,
                10059,
                7792,
                5163,
                3777,
                3222,
                3120,
                3063,
                2927,
                2605,
                2282,
                1893,
                1592,
                1345,
                904,
                463,
                193,
                91,
                0.0
            };
            Matrix<double> p_7000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 10000.0
            G_0 = new double[23]
            {
                4624,
                4375,
                4128,
                3896,
                3774,
                3627,
                3426,
                3122,
                2501,
                2018,
                1664,
                1365,
                1208,
                1041,
                910,
                809,
                734,
                677,
                582,
                404,
                244,
                205,
                0.0
            };
            G_50 = new double[23]
            {
                5040,
                4787,
                4542,
                4302,
                4182,
                4042,
                3857,
                3586,
                2977,
                2514,
                2217,
                1984,
                1824,
                1678,
                1583,
                1501,
                1402,
                1250,
                1018,
                758,
                386,
                281,
                0.0
            };
            G_100 = new double[23]
            {
                5711,
                5424,
                5083,
                4812,
                4696,
                4507,
                4371,
                4158,
                3699,
                3259,
                2970,
                2830,
                2654,
                2505,
                2354,
                2059,
                1840,
                1620,
                1293,
                999,
                668,
                467,
                0.0
            };
            G_300 = new double[23]
            {
                6240,
                5751,
                5329,
                5036,
                4934,
                4777,
                4690,
                4523,
                4197,
                3777,
                3361,
                3136,
                2994,
                2803,
                2635,
                2398,
                2250,
                1922,
                1707,
                1267,
                915,
                505,
                0.0
            };
            G_500 = new double[23]
            {
                6422,
                5774,
                5441,
                5059,
                4945,
                4837,
                4744,
                4583,
                4328,
                3920,
                3461,
                3206,
                3005,
                2804,
                2640,
                2386,
                2147,
                1830,
                1528,
                1203,
                806,
                431,
                0.0
            };
            G_750 = new double[23]
            {
                7259,
                6426,
                5740,
                5233,
                5035,
                4842,
                4761,
                4501,
                4263,
                3879,
                3404,
                3093,
                2879,
                2640,
                2443,
                2071,
                1760,
                1455,
                1080,
                713,
                347,
                238,
                0.0
            };
            G_1000 = new double[23]
            {
                8156,
                7090,
                6125,
                5478,
                5179,
                4985,
                4762,
                4439,
                4149,
                3793,
                3295,
                2886,
                2595,
                2280,
                1986,
                1783,
                1465,
                1183,
                356,
                156,
                108,
                105,
                0.0
            };
            G_1500 = new double[23]
            {
                9449,
                8185,
                7053,
                6227,
                5689,
                5217,
                4781,
                4311,
                3892,
                3446,
                2977,
                2526,
                2095,
                1865,
                1547,
                1203,
                378,
                295,
                176,
                79,
                59,
                51,
                0.0
            };
            G_2000 = new double[23]
            {
                10490,
                8949,
                7655,
                6479,
                5965,
                5398,
                4762,
                4131,
                3467,
                2960,
                2452,
                2020,
                1708,
                1391,
                1054,
                393,
                247,
                183,
                125,
                65,
                50,
                46,
                0.0
            };
            G_2500 = new double[23]
            {
                11536,
                9833,
                8292,
                6889,
                6216,
                5619,
                4784,
                4013,
                3282,
                2691,
                2188,
                1776,
                1469,
                1177,
                738,
                342,
                288,
                182,
                140,
                80,
                54,
                39,
                0.0
            };
            G_3000 = new double[23]
            {
                12449,
                10561,
                8790,
                7196,
                6491,
                5789,
                4822,
                3893,
                3116,
                2432,
                1939,
                1580,
                1354,
                998,
                675,
                396,
                337,
                232,
                176,
                98,
                50,
                32,
                0.0
            };
            G_3500 = new double[23]
            {
                13181,
                11191,
                9261,
                7712,
                6887,
                6007,
                4842,
                3862,
                2998,
                2277,
                1809,
                1526,
                1314,
                1076,
                775,
                528,
                406,
                365,
                254,
                131,
                75,
                38,
                0.0
            };
            G_4000 = new double[23]
            {
                13882,
                11788,
                9761,
                8080,
                7079,
                6163,
                4875,
                3813,
                2936,
                2079,
                1704,
                1521,
                1251,
                1153,
                881,
                694,
                525,
                445,
                299,
                153,
                76,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                14555,
                12363,
                10227,
                8450,
                7344,
                6374,
                4885,
                3798,
                2877,
                2027,
                1709,
                1562,
                1331,
                1279,
                1048,
                763,
                611,
                513,
                342,
                174,
                81,
                40,
                0.0
            };
            G_5000 = new double[23]
            {
                15087,
                12776,
                10637,
                8882,
                7723,
                6804,
                4955,
                3928,
                2889,
                2082,
                1715,
                1608,
                1460,
                1314,
                1073,
                832,
                683,
                575,
                395,
                200,
                87,
                42,
                0.0
            };
            G_5500 = new double[23]
            {
                15617,
                13257,
                11054,
                9422,
                8279,
                7203,
                5517,
                4119,
                2942,
                2106,
                1824,
                1763,
                1638,
                1478,
                1261,
                964,
                822,
                681,
                453,
                231,
                96,
                45,
                0.0
            };
            G_6000 = new double[23]
            {
                16191,
                13799,
                11553,
                9797,
                8723,
                7611,
                5821,
                4226,
                3014,
                2189,
                1975,
                1867,
                1723,
                1539,
                1323,
                1109,
                963,
                816,
                526,
                267,
                111,
                52,
                0.0
            };
            G_6500 = new double[23]
            {
                16692,
                14162,
                11890,
                10082,
                9097,
                7925,
                5990,
                4326,
                3023,
                2297,
                2073,
                2020,
                1843,
                1697,
                1500,
                1314,
                1098,
                923,
                595,
                305,
                129,
                60,
                0.0
            };
            G_7000 = new double[23]
            {
                17149,
                14598,
                12284,
                10292,
                9215,
                8047,
                6128,
                4397,
                3082,
                2339,
                2209,
                2103,
                2006,
                1850,
                1618,
                1394,
                1179,
                1004,
                658,
                343,
                147,
                70,
                0.0
            };
            G_7500 = new double[23]
            {
                17628,
                15027,
                12656,
                10529,
                9450,
                8245,
                6145,
                4440,
                3190,
                2370,
                2320,
                2190,
                2170,
                2000,
                1740,
                1491,
                1270,
                1084,
                719,
                373,
                159,
                75,
                0.0
            };
            G_8000 = new double[23]
            {
                18123,
                15428,
                12988,
                10706,
                9587,
                8466,
                6263,
                4626,
                3587,
                3056,
                2981,
                2800,
                2700,
                2347,
                2006,
                1665,
                1403,
                1174,
                781,
                402,
                170,
                80,
                0.0
            };
            Matrix<double> p_10000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 12000.0
            G_0 = new double[23]
            {
                4070,
                3883,
                3698,
                3525,
                3433,
                3322,
                3163,
                2914,
                2391,
                1936,
                1606,
                1334,
                1173,
                1026,
                909,
                814,
                745,
                694,
                588,
                397,
                225,
                141,
                0.0
            };
            G_50 = new double[23]
            {
                4436,
                4247,
                4061,
                3869,
                3770,
                3658,
                3506,
                3285,
                2784,
                2367,
                2081,
                1857,
                1694,
                1565,
                1498,
                1357,
                1200,
                1087,
                867,
                667,
                381,
                242,
                0.0
            };
            G_100 = new double[23]
            {
                5023,
                4806,
                4538,
                4290,
                4171,
                3983,
                3844,
                3645,
                3267,
                2878,
                2711,
                2500,
                2257,
                2069,
                1905,
                1622,
                1460,
                1290,
                977,
                772,
                446,
                301,
                0.0
            };
            G_300 = new double[23]
            {
                5366,
                5081,
                4741,
                4434,
                4269,
                4138,
                3950,
                3838,
                3516,
                3199,
                2912,
                2701,
                2467,
                2285,
                2108,
                1940,
                1830,
                1630,
                1250,
                840,
                500,
                316,
                0.0
            };
            G_500 = new double[23]
            {
                5647,
                5188,
                4869,
                4445,
                4298,
                4131,
                3988,
                3819,
                3555,
                3240,
                2951,
                2724,
                2500,
                2310,
                2160,
                1875,
                1678,
                1474,
                1011,
                423,
                296,
                205,
                0.0
            };
            G_750 = new double[23]
            {
                6233,
                5596,
                5072,
                4528,
                4310,
                4067,
                3904,
                3659,
                3418,
                3067,
                2773,
                2526,
                2277,
                2039,
                1798,
                1396,
                1180,
                989,
                312,
                251,
                211,
                131,
                0.0
            };
            G_1000 = new double[23]
            {
                7031,
                6267,
                5500,
                4700,
                4430,
                4100,
                3855,
                3447,
                3243,
                2878,
                2516,
                2291,
                1905,
                1640,
                1420,
                1073,
                920,
                310,
                214,
                118,
                78,
                76,
                0.0
            };
            G_1500 = new double[23]
            {
                8214,
                7105,
                6221,
                5242,
                4662,
                4271,
                3813,
                3405,
                2952,
                2526,
                2112,
                1723,
                1389,
                1096,
                918,
                377,
                315,
                205,
                105,
                41,
                39,
                36,
                0.0
            };
            G_2000 = new double[23]
            {
                8959,
                7711,
                6598,
                5472,
                4982,
                4417,
                3841,
                3375,
                2830,
                2300,
                1816,
                1410,
                1109,
                911,
                385,
                119,
                110,
                77,
                71,
                50,
                37,
                31,
                0.0
            };
            G_2500 = new double[23]
            {
                9851,
                8471,
                7225,
                5977,
                5407,
                4720,
                3900,
                3367,
                2739,
                2119,
                1603,
                1215,
                971,
                753,
                293,
                172,
                139,
                119,
                99,
                59,
                40,
                27,
                0.0
            };
            G_3000 = new double[23]
            {
                10436,
                9128,
                7655,
                6409,
                5706,
                4923,
                3949,
                3364,
                2690,
                1985,
                1492,
                1101,
                889,
                689,
                354,
                300,
                245,
                195,
                154,
                81,
                45,
                26,
                0.0
            };
            G_3500 = new double[23]
            {
                11000,
                9572,
                7966,
                6675,
                5958,
                5076,
                4002,
                3360,
                2680,
                1910,
                1409,
                1138,
                922,
                772,
                414,
                404,
                329,
                294,
                221,
                109,
                66,
                35,
                0.0
            };
            G_4000 = new double[23]
            {
                11291,
                9879,
                8449,
                7028,
                6239,
                5226,
                4061,
                3326,
                2680,
                1904,
                1456,
                1244,
                1077,
                923,
                693,
                586,
                454,
                361,
                251,
                131,
                70,
                36,
                0.0
            };
            G_4500 = new double[23]
            {
                11695,
                10442,
                8797,
                7329,
                6398,
                5397,
                4163,
                3353,
                2698,
                1927,
                1529,
                1383,
                1174,
                1097,
                862,
                685,
                539,
                418,
                294,
                154,
                75,
                38,
                0.0
            };
            G_5000 = new double[23]
            {
                12117,
                10856,
                9117,
                7579,
                6726,
                5903,
                4418,
                3478,
                2772,
                2010,
                1637,
                1431,
                1254,
                1154,
                921,
                726,
                573,
                465,
                341,
                183,
                82,
                40,
                0.0
            };
            G_5500 = new double[23]
            {
                12466,
                11071,
                9431,
                7831,
                7005,
                6089,
                4517,
                3728,
                2908,
                2140,
                1867,
                1621,
                1469,
                1345,
                1105,
                909,
                704,
                564,
                401,
                214,
                91,
                43,
                0.0
            };
            G_6000 = new double[23]
            {
                13176,
                11559,
                9782,
                8050,
                7166,
                6225,
                4603,
                3885,
                3060,
                2229,
                1986,
                1781,
                1627,
                1472,
                1254,
                1065,
                868,
                721,
                483,
                252,
                105,
                49,
                0.0
            };
            G_6500 = new double[23]
            {
                14034,
                12051,
                10061,
                8249,
                7390,
                6426,
                4668,
                3941,
                3128,
                2355,
                2150,
                1949,
                1811,
                1623,
                1447,
                1220,
                1023,
                852,
                558,
                290,
                122,
                57,
                0.0
            };
            G_7000 = new double[23]
            {
                14607,
                12508,
                10487,
                8532,
                7609,
                6605,
                4731,
                4011,
                3192,
                2432,
                2217,
                2093,
                1955,
                1730,
                1554,
                1342,
                1126,
                945,
                622,
                326,
                140,
                66,
                0.0
            };
            G_7500 = new double[23]
            {
                14975,
                12908,
                10907,
                8703,
                7863,
                6710,
                4821,
                4080,
                3250,
                2490,
                2284,
                2170,
                2077,
                1921,
                1676,
                1441,
                1227,
                1034,
                683,
                355,
                152,
                72,
                0.0
            };
            G_8000 = new double[23]
            {
                15432,
                13298,
                11407,
                8898,
                8033,
                6904,
                4932,
                4219,
                3398,
                2827,
                2737,
                2527,
                2420,
                2168,
                1912,
                1606,
                1370,
                1142,
                749,
                384,
                162,
                76,
                0.0
            };
            Matrix<double> p_12000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 14000.0
            G_0 = new double[23]
            {
                3505,
                3372,
                3240,
                3113,
                3046,
                2965,
                2846,
                2654,
                2242,
                1848,
                1544,
                1296,
                1129,
                992,
                884,
                799,
                736,
                691,
                585,
                384,
                202,
                113,
                0.0
            };
            G_50 = new double[23]
            {
                3808,
                3676,
                3552,
                3413,
                3338,
                3250,
                3129,
                2951,
                2557,
                2195,
                1919,
                1710,
                1527,
                1363,
                1230,
                1114,
                1035,
                930,
                790,
                565,
                310,
                185,
                0.0
            };
            G_100 = new double[23]
            {
                4244,
                4060,
                3897,
                3721,
                3617,
                3500,
                3371,
                3206,
                2909,
                2586,
                2280,
                1961,
                1791,
                1575,
                1469,
                1262,
                1193,
                1023,
                811,
                595,
                342,
                204,
                0.0
            };
            G_300 = new double[23]
            {
                4479,
                4268,
                4074,
                3858,
                3727,
                3586,
                3448,
                3301,
                2996,
                2701,
                2358,
                2100,
                1970,
                1756,
                1651,
                1481,
                1308,
                1143,
                842,
                615,
                347,
                217,
                0.0
            };
            G_500 = new double[23]
            {
                4680,
                4404,
                4184,
                3876,
                3713,
                3545,
                3401,
                3249,
                3001,
                2641,
                2373,
                2089,
                1825,
                1559,
                1422,
                1273,
                1087,
                1017,
                319,
                298,
                192,
                119,
                0.0
            };
            G_750 = new double[23]
            {
                5155,
                4929,
                4487,
                3917,
                3666,
                3417,
                3241,
                3056,
                2841,
                2505,
                2177,
                1849,
                1591,
                1332,
                1131,
                885,
                769,
                502,
                265,
                135,
                79,
                77,
                0.0
            };
            G_1000 = new double[23]
            {
                6001,
                5588,
                4980,
                4089,
                3670,
                3378,
                3049,
                2693,
                2399,
                2051,
                1731,
                1466,
                1244,
                1017,
                854,
                745,
                649,
                295,
                224,
                102,
                67,
                49,
                0.0
            };
            G_1500 = new double[23]
            {
                6787,
                6145,
                5185,
                4364,
                3798,
                3406,
                3003,
                2583,
                2218,
                1807,
                1498,
                1200,
                971,
                765,
                555,
                196,
                180,
                138,
                119,
                53,
                43,
                34,
                0.0
            };
            G_2000 = new double[23]
            {
                7188,
                6465,
                5394,
                4496,
                3995,
                3628,
                3201,
                2686,
                2221,
                1751,
                1444,
                1121,
                879,
                603,
                419,
                176,
                125,
                108,
                93,
                58,
                41,
                26,
                0.0
            };
            G_2500 = new double[23]
            {
                7630,
                6781,
                5886,
                4902,
                4465,
                4006,
                3295,
                2832,
                2224,
                1773,
                1391,
                1024,
                831,
                564,
                312,
                213,
                139,
                119,
                102,
                62,
                42,
                27,
                0.0
            };
            G_3000 = new double[23]
            {
                7824,
                7031,
                6139,
                5394,
                4701,
                4236,
                3320,
                2894,
                2333,
                1831,
                1396,
                1082,
                865,
                604,
                318,
                275,
                237,
                201,
                146,
                80,
                47,
                31,
                0.0
            };
            G_3500 = new double[23]
            {
                8111,
                7338,
                6268,
                5532,
                4884,
                4356,
                3417,
                2963,
                2433,
                1897,
                1444,
                1140,
                927,
                710,
                491,
                420,
                340,
                281,
                200,
                108,
                61,
                32,
                0.0
            };
            G_4000 = new double[23]
            {
                8329,
                7457,
                6488,
                5706,
                5185,
                4498,
                3518,
                2992,
                2511,
                2029,
                1603,
                1307,
                1103,
                854,
                722,
                590,
                467,
                365,
                245,
                125,
                65,
                33,
                0.0
            };
            G_4500 = new double[23]
            {
                8718,
                7543,
                6537,
                5730,
                5344,
                4748,
                3789,
                3092,
                2558,
                2105,
                1709,
                1449,
                1207,
                1005,
                835,
                676,
                558,
                421,
                287,
                148,
                70,
                34,
                0.0
            };
            G_5000 = new double[23]
            {
                8978,
                7649,
                6594,
                5732,
                5451,
                4912,
                3963,
                3214,
                2692,
                2161,
                1745,
                1510,
                1280,
                1062,
                916,
                746,
                599,
                465,
                329,
                174,
                76,
                36,
                0.0
            };
            G_5500 = new double[23]
            {
                9249,
                7760,
                6609,
                5753,
                5505,
                4944,
                4043,
                3419,
                3026,
                2433,
                1989,
                1746,
                1475,
                1298,
                1107,
                940,
                746,
                572,
                390,
                206,
                87,
                40,
                0.0
            };
            G_6000 = new double[23]
            {
                9831,
                8166,
                6738,
                5864,
                5509,
                4956,
                4110,
                3463,
                3170,
                2575,
                2209,
                1986,
                1686,
                1420,
                1253,
                1082,
                893,
                709,
                468,
                242,
                101,
                47,
                0.0
            };
            G_6500 = new double[23]
            {
                10687,
                8715,
                6808,
                5894,
                5553,
                4972,
                4129,
                3544,
                3208,
                2617,
                2326,
                2201,
                1908,
                1609,
                1448,
                1241,
                1034,
                834,
                539,
                280,
                118,
                55,
                0.0
            };
            G_7000 = new double[23]
            {
                11414,
                9448,
                7169,
                6008,
                5694,
                4993,
                4140,
                3605,
                3202,
                2682,
                2339,
                2261,
                2018,
                1745,
                1556,
                1343,
                1129,
                924,
                603,
                317,
                136,
                64,
                0.0
            };
            G_7500 = new double[23]
            {
                12199,
                10064,
                7714,
                6137,
                5700,
                5016,
                4159,
                3729,
                3240,
                2689,
                2350,
                2270,
                2120,
                1836,
                1638,
                1433,
                1216,
                1013,
                666,
                347,
                148,
                70,
                0.0
            };
            G_8000 = new double[23]
            {
                12874,
                10581,
                8108,
                6231,
                5878,
                5214,
                4370,
                3809,
                3276,
                2806,
                2508,
                2342,
                2217,
                2033,
                1803,
                1565,
                1338,
                1116,
                733,
                376,
                159,
                75,
                0.0
            };
            Matrix<double> p_14000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 16000.0
            G_0 = new double[23]
            {
                2869,
                2780,
                2691,
                2603,
                2556,
                2500,
                2417,
                2276,
                1978,
                1667,
                1411,
                1199,
                1036,
                903,
                820,
                739,
                668,
                640,
                535,
                317,
                165,
                92,
                0.0
            };
            G_50 = new double[23]
            {
                3101,
                3014,
                2934,
                2837,
                2785,
                2723,
                2645,
                2508,
                2242,
                1962,
                1719,
                1460,
                1271,
                1132,
                982,
                882,
                821,
                750,
                569,
                391,
                219,
                145,
                0.0
            };
            G_100 = new double[23]
            {
                3434,
                3308,
                3154,
                3001,
                2897,
                2804,
                2716,
                2551,
                2331,
                2102,
                1818,
                1590,
                1419,
                1254,
                1153,
                1024,
                951,
                846,
                617,
                418,
                244,
                166,
                0.0
            };
            G_300 = new double[23]
            {
                3612,
                3465,
                3314,
                3127,
                2988,
                2833,
                2733,
                2585,
                2414,
                2206,
                1909,
                1718,
                1562,
                1451,
                1257,
                1129,
                1019,
                859,
                618,
                463,
                259,
                164,
                0.0
            };
            G_500 = new double[23]
            {
                3761,
                3553,
                3386,
                3152,
                2997,
                2819,
                2693,
                2534,
                2417,
                2180,
                1909,
                1595,
                1406,
                1261,
                1052,
                926,
                793,
                598,
                392,
                286,
                127,
                90,
                0.0
            };
            G_750 = new double[23]
            {
                4113,
                3800,
                3588,
                3251,
                3055,
                2798,
                2610,
                2387,
                2251,
                1985,
                1703,
                1280,
                1113,
                978,
                780,
                694,
                578,
                432,
                229,
                150,
                89,
                69,
                0.0
            };
            G_1000 = new double[23]
            {
                4785,
                4471,
                4003,
                3460,
                3102,
                2756,
                2504,
                2201,
                1918,
                1634,
                1353,
                1039,
                952,
                814,
                665,
                530,
                455,
                325,
                192,
                90,
                59,
                45,
                0.0
            };
            G_1500 = new double[23]
            {
                5406,
                4726,
                4165,
                3659,
                3280,
                2939,
                2419,
                2111,
                1888,
                1505,
                1226,
                1005,
                879,
                671,
                522,
                364,
                231,
                168,
                134,
                67,
                46,
                33,
                0.0
            };
            G_2000 = new double[23]
            {
                5808,
                5019,
                4352,
                3777,
                3449,
                3071,
                2740,
                2250,
                1921,
                1623,
                1328,
                1118,
                918,
                715,
                502,
                244,
                203,
                172,
                127,
                84,
                51,
                28,
                0.0
            };
            G_2500 = new double[23]
            {
                6312,
                5514,
                4978,
                4407,
                3973,
                3504,
                2954,
                2494,
                2086,
                1747,
                1450,
                1213,
                1004,
                795,
                531,
                347,
                265,
                211,
                153,
                93,
                52,
                28,
                0.0
            };
            G_3000 = new double[23]
            {
                6858,
                5972,
                5429,
                4894,
                4332,
                3748,
                3146,
                2611,
                2209,
                1857,
                1533,
                1269,
                1101,
                817,
                655,
                481,
                380,
                300,
                216,
                113,
                57,
                29,
                0.0
            };
            G_3500 = new double[23]
            {
                7286,
                6326,
                5695,
                5018,
                4511,
                3907,
                3255,
                2653,
                2311,
                1956,
                1614,
                1345,
                1170,
                831,
                717,
                541,
                435,
                353,
                248,
                123,
                59,
                29,
                0.0
            };
            G_4000 = new double[23]
            {
                7568,
                6686,
                5875,
                5296,
                4700,
                4136,
                3392,
                2756,
                2428,
                2157,
                1828,
                1560,
                1325,
                1030,
                886,
                710,
                607,
                453,
                297,
                138,
                62,
                30,
                0.0
            };
            G_4500 = new double[23]
            {
                8015,
                6902,
                6071,
                5483,
                4889,
                4352,
                3511,
                2876,
                2569,
                2225,
                1960,
                1684,
                1465,
                1164,
                988,
                808,
                674,
                525,
                335,
                155,
                66,
                31,
                0.0
            };
            G_5000 = new double[23]
            {
                8249,
                7179,
                6183,
                5529,
                5058,
                4562,
                3707,
                3017,
                2698,
                2293,
                2024,
                1777,
                1574,
                1220,
                1041,
                890,
                731,
                567,
                377,
                182,
                72,
                33,
                0.0
            };
            G_5500 = new double[23]
            {
                8569,
                7489,
                6212,
                5601,
                5064,
                4609,
                3752,
                3226,
                2913,
                2638,
                2244,
                2036,
                1731,
                1424,
                1265,
                1067,
                870,
                666,
                427,
                207,
                84,
                39,
                0.0
            };
            G_6000 = new double[23]
            {
                9059,
                7714,
                6377,
                5610,
                5103,
                4624,
                3812,
                3382,
                3073,
                2798,
                2412,
                2191,
                1900,
                1600,
                1392,
                1180,
                981,
                764,
                491,
                246,
                99,
                46,
                0.0
            };
            G_6500 = new double[23]
            {
                9480,
                8189,
                6573,
                5714,
                5255,
                4650,
                3828,
                3484,
                3126,
                2883,
                2531,
                2275,
                2016,
                1716,
                1524,
                1290,
                1086,
                854,
                549,
                278,
                116,
                54,
                0.0
            };
            G_7000 = new double[23]
            {
                9832,
                8567,
                6874,
                5878,
                5336,
                4677,
                3850,
                3511,
                3183,
                2888,
                2549,
                2298,
                2068,
                1801,
                1573,
                1376,
                1167,
                933,
                607,
                314,
                135,
                63,
                0.0
            };
            G_7500 = new double[23]
            {
                10170,
                8880,
                7084,
                5947,
                5402,
                4698,
                3872,
                3520,
                3190,
                2890,
                2571,
                2325,
                2104,
                1848,
                1618,
                1440,
                1229,
                1012,
                662,
                344,
                147,
                69,
                0.0
            };
            G_8000 = new double[23]
            {
                10566,
                9241,
                7422,
                6073,
                5475,
                4741,
                3960,
                3663,
                3204,
                2928,
                2610,
                2356,
                2160,
                1938,
                1739,
                1538,
                1321,
                1098,
                722,
                373,
                158,
                74,
                0.0
            };
            Matrix<double> p_16000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 18000.0
            G_0 = new double[23]
            {
                2198,
                2136,
                2076,
                1999,
                1970,
                1955,
                1900,
                1809,
                1617,
                1402,
                1218,
                1063,
                936,
                822,
                732,
                660,
                599,
                569,
                434,
                260,
                138,
                84,
                0.0
            };
            G_50 = new double[23]
            {
                2377,
                2295,
                2209,
                2043,
                2002,
                1960,
                1886,
                1782,
                1647,
                1408,
                1260,
                1138,
                1042,
                922,
                824,
                744,
                684,
                620,
                474,
                310,
                177,
                117,
                0.0
            };
            G_100 = new double[23]
            {
                2416,
                2316,
                2220,
                2084,
                2003,
                1944,
                1847,
                1733,
                1653,
                1405,
                1278,
                1157,
                1065,
                958,
                886,
                784,
                744,
                648,
                521,
                331,
                185,
                132,
                0.0
            };
            G_300 = new double[23]
            {
                2566,
                2353,
                2230,
                2083,
                1952,
                1895,
                1783,
                1646,
                1558,
                1407,
                1285,
                1149,
                1076,
                1009,
                933,
                821,
                775,
                661,
                527,
                322,
                175,
                119,
                0.0
            };
            G_500 = new double[23]
            {
                2609,
                2392,
                2232,
                1998,
                1899,
                1775,
                1655,
                1447,
                1350,
                1196,
                1113,
                1025,
                938,
                826,
                732,
                648,
                579,
                454,
                297,
                214,
                142,
                66,
                0.0
            };
            G_750 = new double[23]
            {
                2878,
                2510,
                2247,
                1993,
                1892,
                1754,
                1607,
                1429,
                1277,
                1153,
                1052,
                903,
                794,
                680,
                578,
                516,
                450,
                334,
                169,
                144,
                90,
                49,
                0.0
            };
            G_1000 = new double[23]
            {
                3081,
                2635,
                2312,
                1971,
                1877,
                1728,
                1574,
                1448,
                1279,
                1145,
                1018,
                870,
                749,
                670,
                550,
                426,
                394,
                260,
                137,
                80,
                56,
                36,
                0.0
            };
            G_1500 = new double[23]
            {
                3760,
                3260,
                2858,
                2479,
                2206,
                2032,
                1847,
                1599,
                1404,
                1231,
                1102,
                903,
                794,
                681,
                524,
                379,
                274,
                215,
                151,
                90,
                53,
                29,
                0.0
            };
            G_2000 = new double[23]
            {
                4277,
                3648,
                3255,
                2811,
                2566,
                2287,
                2119,
                1844,
                1640,
                1469,
                1351,
                1222,
                1093,
                956,
                757,
                420,
                307,
                267,
                162,
                98,
                51,
                25,
                0.0
            };
            G_2500 = new double[23]
            {
                4845,
                4453,
                4036,
                3480,
                3095,
                2681,
                2407,
                2016,
                1838,
                1623,
                1470,
                1319,
                1149,
                1025,
                832,
                523,
                406,
                338,
                226,
                119,
                52,
                25,
                0.0
            };
            G_3000 = new double[23]
            {
                5472,
                4760,
                4329,
                3736,
                3279,
                2831,
                2533,
                2167,
                1945,
                1728,
                1516,
                1352,
                1216,
                1094,
                876,
                629,
                493,
                426,
                287,
                137,
                55,
                25,
                0.0
            };
            G_3500 = new double[23]
            {
                5983,
                5028,
                4457,
                3802,
                3381,
                2894,
                2615,
                2280,
                2042,
                1825,
                1550,
                1453,
                1243,
                1123,
                899,
                743,
                571,
                500,
                384,
                166,
                59,
                26,
                0.0
            };
            G_4000 = new double[23]
            {
                6459,
                5438,
                4798,
                4007,
                3533,
                3059,
                2685,
                2383,
                2241,
                2004,
                1738,
                1639,
                1446,
                1216,
                1029,
                876,
                710,
                621,
                453,
                183,
                61,
                27,
                0.0
            };
            G_4500 = new double[23]
            {
                6562,
                5560,
                4925,
                4189,
                3748,
                3266,
                2801,
                2496,
                2325,
                2136,
                1926,
                1736,
                1565,
                1316,
                1102,
                957,
                751,
                676,
                482,
                195,
                64,
                28,
                0.0
            };
            G_5000 = new double[23]
            {
                6719,
                5688,
                5048,
                4297,
                3973,
                3492,
                2895,
                2606,
                2414,
                2245,
                2083,
                1796,
                1648,
                1388,
                1186,
                1009,
                795,
                720,
                489,
                213,
                72,
                31,
                0.0
            };
            G_5500 = new double[23]
            {
                6820,
                5875,
                5205,
                4521,
                4157,
                3696,
                3053,
                2937,
                2717,
                2510,
                2265,
                2077,
                1861,
                1603,
                1360,
                1192,
                966,
                770,
                539,
                237,
                84,
                37,
                0.0
            };
            G_6000 = new double[23]
            {
                7067,
                6118,
                5412,
                4662,
                4293,
                3757,
                3123,
                3002,
                2856,
                2696,
                2421,
                2216,
                1969,
                1727,
                1465,
                1300,
                1063,
                861,
                585,
                266,
                99,
                44,
                0.0
            };
            G_6500 = new double[23]
            {
                7342,
                6385,
                5570,
                4764,
                4337,
                3813,
                3140,
                3018,
                2907,
                2781,
                2531,
                2305,
                2073,
                1825,
                1560,
                1376,
                1158,
                912,
                611,
                292,
                116,
                53,
                0.0
            };
            G_7000 = new double[23]
            {
                7625,
                6606,
                5716,
                4835,
                4412,
                3893,
                3166,
                3061,
                2921,
                2794,
                2536,
                2308,
                2080,
                1840,
                1594,
                1415,
                1208,
                968,
                640,
                320,
                133,
                62,
                0.0
            };
            G_7500 = new double[23]
            {
                7930,
                6835,
                5901,
                4941,
                4486,
                3929,
                3216,
                3070,
                2954,
                2636,
                2471,
                2326,
                2095,
                1875,
                1609,
                1443,
                1248,
                1022,
                670,
                342,
                143,
                67,
                0.0
            };
            G_8000 = new double[23]
            {
                8158,
                7075,
                6071,
                5107,
                4545,
                4009,
                3308,
                3110,
                2958,
                2771,
                2602,
                2356,
                2130,
                1923,
                1698,
                1501,
                1304,
                1084,
                711,
                364,
                152,
                71,
                0.0
            };
            Matrix<double> p_18000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 20000.0
            G_0 = new double[23]
            {
                1654,
                1497,
                1378,
                1240,
                1185,
                1179,
                1141,
                1092,
                992,
                947,
                900,
                872,
                787,
                719,
                646,
                568,
                493,
                438,
                347,
                213,
                94,
                55,
                0.0
            };
            G_50 = new double[23]
            {
                1692,
                1489,
                1356,
                1213,
                1172,
                1163,
                1123,
                1077,
                1004,
                950,
                898,
                848,
                780,
                715,
                659,
                575,
                528,
                451,
                345,
                230,
                118,
                73,
                0.0
            };
            G_100 = new double[23]
            {
                1706,
                1438,
                1300,
                1188,
                1163,
                1141,
                1114,
                1072,
                1028,
                974,
                914,
                840,
                784,
                709,
                656,
                595,
                540,
                470,
                343,
                234,
                137,
                75,
                0.0
            };
            G_300 = new double[23]
            {
                1739,
                1427,
                1208,
                1130,
                1110,
                1080,
                1070,
                1020,
                990,
                945,
                900,
                830,
                780,
                700,
                640,
                600,
                542,
                468,
                288,
                224,
                131,
                72,
                0.0
            };
            G_500 = new double[23]
            {
                1744,
                1338,
                1183,
                1030,
                975,
                940,
                903,
                879,
                835,
                797,
                761,
                729,
                680,
                624,
                545,
                488,
                438,
                388,
                204,
                153,
                90,
                53,
                0.0
            };
            G_750 = new double[23]
            {
                1796,
                1502,
                1237,
                1106,
                1029,
                968,
                914,
                810,
                766,
                730,
                695,
                637,
                585,
                550,
                502,
                444,
                342,
                292,
                170,
                109,
                75,
                41,
                0.0
            };
            G_1000 = new double[23]
            {
                1882,
                1636,
                1409,
                1200,
                1133,
                1086,
                1026,
                965,
                876,
                817,
                761,
                650,
                607,
                561,
                508,
                419,
                293,
                246,
                126,
                74,
                49,
                27,
                0.0
            };
            G_1500 = new double[23]
            {
                2459,
                2183,
                1889,
                1665,
                1549,
                1428,
                1318,
                1166,
                1045,
                982,
                905,
                835,
                763,
                700,
                620,
                439,
                286,
                224,
                130,
                75,
                42,
                22,
                0.0
            };
            G_2000 = new double[23]
            {
                3017,
                2693,
                2372,
                2088,
                1927,
                1729,
                1584,
                1395,
                1284,
                1221,
                1133,
                1046,
                977,
                872,
                812,
                611,
                423,
                268,
                152,
                89,
                44,
                21,
                0.0
            };
            G_2500 = new double[23]
            {
                3580,
                3154,
                2849,
                2542,
                2239,
                1971,
                1775,
                1612,
                1465,
                1360,
                1230,
                1154,
                1105,
                971,
                853,
                688,
                473,
                377,
                228,
                117,
                46,
                21,
                0.0
            };
            G_3000 = new double[23]
            {
                3946,
                3437,
                3038,
                2636,
                2359,
                2051,
                1906,
                1702,
                1562,
                1423,
                1270,
                1202,
                1157,
                1033,
                915,
                703,
                569,
                450,
                290,
                134,
                50,
                21,
                0.0
            };
            G_3500 = new double[23]
            {
                4162,
                3558,
                3067,
                2640,
                2400,
                2139,
                2011,
                1828,
                1658,
                1510,
                1380,
                1264,
                1190,
                1069,
                961,
                791,
                617,
                536,
                367,
                159,
                54,
                22,
                0.0
            };
            G_4000 = new double[23]
            {
                4261,
                3767,
                3268,
                2802,
                2543,
                2280,
                2138,
                1992,
                1875,
                1702,
                1585,
                1465,
                1341,
                1244,
                1086,
                920,
                741,
                649,
                439,
                178,
                57,
                23,
                0.0
            };
            G_4500 = new double[23]
            {
                4358,
                3923,
                3486,
                2992,
                2700,
                2470,
                2247,
                2101,
                1915,
                1788,
                1674,
                1539,
                1441,
                1344,
                1129,
                992,
                819,
                690,
                457,
                189,
                61,
                24,
                0.0
            };
            G_5000 = new double[23]
            {
                4517,
                4139,
                3648,
                3114,
                2874,
                2595,
                2381,
                2211,
                1995,
                1818,
                1716,
                1631,
                1517,
                1390,
                1167,
                1081,
                829,
                739,
                476,
                208,
                68,
                28,
                0.0
            };
            G_5500 = new double[23]
            {
                4718,
                4385,
                3876,
                3323,
                3012,
                2758,
                2579,
                2409,
                2214,
                2051,
                1957,
                1834,
                1687,
                1561,
                1328,
                1215,
                987,
                799,
                521,
                230,
                79,
                33,
                0.0
            };
            G_6000 = new double[23]
            {
                4922,
                4545,
                3983,
                3420,
                3175,
                2922,
                2691,
                2519,
                2353,
                2183,
                2082,
                1969,
                1796,
                1639,
                1413,
                1311,
                1080,
                884,
                576,
                259,
                94,
                40,
                0.0
            };
            G_6500 = new double[23]
            {
                5124,
                4667,
                4071,
                3515,
                3249,
                3017,
                2812,
                2638,
                2469,
                2247,
                2159,
                2024,
                1893,
                1721,
                1514,
                1362,
                1155,
                939,
                607,
                280,
                109,
                47,
                0.0
            };
            G_7000 = new double[23]
            {
                5323,
                4730,
                4120,
                3536,
                3303,
                3069,
                2878,
                2731,
                2531,
                2333,
                2205,
                2098,
                1934,
                1757,
                1553,
                1404,
                1201,
                986,
                639,
                302,
                123,
                52,
                0.0
            };
            G_7500 = new double[23]
            {
                5538,
                4808,
                4165,
                3580,
                3336,
                3093,
                2892,
                2771,
                2599,
                2396,
                2282,
                2128,
                1964,
                1774,
                1588,
                1436,
                1244,
                1028,
                679,
                322,
                128,
                56,
                0.0
            };
            G_8000 = new double[23]
            {
                5768,
                4925,
                4220,
                3625,
                3375,
                3155,
                2951,
                2843,
                2697,
                2484,
                2345,
                2177,
                2017,
                1850,
                1667,
                1484,
                1289,
                1074,
                699,
                330,
                130,
                57,
                0.0
            };
            Matrix<double> p_20000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );



            //p = 21000.0
            G_0 = new double[23]
            {
                1584,
                1462,
                1324,
                1222,
                1184,
                1147,
                1084,
                1008,
                939,
                904,
                821,
                733,
                644,
                570,
                501,
                440,
                415,
                366,
                309,
                194,
                84,
                45,
                0.0
            };
            G_50 = new double[23]
            {
                1587,
                1456,
                1301,
                1194,
                1164,
                1119,
                1062,
                999,
                938,
                900,
                823,
                736,
                685,
                650,
                578,
                501,
                457,
                411,
                303,
                197,
                99,
                53,
                0.0
            };
            G_100 = new double[23]
            {
                1589,
                1439,
                1270,
                1177,
                1124,
                1111,
                1060,
                992,
                948,
                894,
                826,
                739,
                697,
                668,
                599,
                527,
                469,
                417,
                300,
                198,
                102,
                55,
                0.0
            };
            G_300 = new double[23]
            {
                1601,
                1314,
                1133,
                1114,
                1102,
                1069,
                1037,
                959,
                925,
                857,
                801,
                730,
                700,
                669,
                600,
                510,
                473,
                399,
                278,
                169,
                97,
                56,
                0.0
            };
            G_500 = new double[23]
            {
                1617,
                1307,
                990,
                981,
                959,
                925,
                878,
                828,
                789,
                727,
                661,
                608,
                587,
                556,
                524,
                459,
                400,
                327,
                180,
                142,
                70,
                50,
                0.0
            };
            G_750 = new double[23]
            {
                1643,
                1411,
                1153,
                1045,
                1007,
                949,
                900,
                799,
                712,
                652,
                616,
                553,
                530,
                515,
                479,
                418,
                324,
                236,
                115,
                97,
                57,
                33,
                0.0,
            };
            G_1000 = new double[23]
            {
                1787,
                1566,
                1328,
                1211,
                1130,
                1045,
                992,
                908,
                807,
                765,
                708,
                628,
                583,
                533,
                470,
                375,
                280,
                209,
                111,
                69,
                42,
                21,
                0.0
            };
            G_1500 = new double[23]
            {
                2261,
                1991,
                1764,
                1570,
                1422,
                1344,
                1228,
                1115,
                998,
                943,
                894,
                800,
                758,
                675,
                545,
                404,
                251,
                209,
                117,
                71,
                36,
                17,
                0.0
            };
            G_2000 = new double[23]
            {
                2689,
                2248,
                1983,
                1711,
                1594,
                1490,
                1395,
                1327,
                1225,
                1193,
                1101,
                971,
                874,
                812,
                741,
                526,
                343,
                230,
                150,
                88,
                35,
                15,
                0.0
            };
            G_2500 = new double[23]
            {
                2997,
                2554,
                2223,
                1903,
                1733,
                1609,
                1519,
                1426,
                1314,
                1260,
                1183,
                1109,
                988,
                900,
                816,
                623,
                445,
                349,
                214,
                102,
                36,
                15,
                0.0
            };
            G_3000 = new double[23]
            {
                3238,
                2847,
                2465,
                2068,
                1880,
                1706,
                1644,
                1547,
                1457,
                1302,
                1193,
                1170,
                1053,
                958,
                884,
                681,
                535,
                425,
                286,
                119,
                39,
                15,
                0.0
            };
            G_3500 = new double[23]
            {
                3393,
                2953,
                2590,
                2193,
                2012,
                1859,
                1772,
                1672,
                1543,
                1397,
                1284,
                1215,
                1130,
                993,
                933,
                773,
                601,
                516,
                343,
                138,
                42,
                16,
                0.0
            };
            G_4000 = new double[23]
            {
                3482,
                3160,
                2776,
                2356,
                2159,
                2004,
                1924,
                1794,
                1654,
                1541,
                1428,
                1347,
                1256,
                1155,
                1027,
                891,
                726,
                627,
                389,
                155,
                45,
                17,
                0.0
            };
            G_4500 = new double[23]
            {
                3532,
                3270,
                2896,
                2517,
                2289,
                2142,
                2028,
                1906,
                1752,
                1624,
                1544,
                1500,
                1348,
                1274,
                1100,
                973,
                809,
                674,
                421,
                167,
                49,
                18,
                0.0
            };
            G_5000 = new double[23]
            {
                3660,
                3436,
                3101,
                2646,
                2456,
                2256,
                2172,
                2016,
                1834,
                1742,
                1660,
                1596,
                1457,
                1350,
                1160,
                1063,
                818,
                711,
                451,
                181,
                54,
                21,
                0.0
            };
            G_5500 = new double[23]
            {
                3803,
                3603,
                3229,
                2831,
                2608,
                2447,
                2288,
                2165,
                1973,
                1880,
                1808,
                1726,
                1603,
                1482,
                1300,
                1184,
                939,
                793,
                492,
                199,
                61,
                24,
                0.0
            };
            G_6000 = new double[23]
            {
                3955,
                3698,
                3320,
                2917,
                2733,
                2544,
                2379,
                2256,
                2073,
                1965,
                1884,
                1823,
                1695,
                1572,
                1379,
                1277,
                1038,
                867,
                544,
                221,
                70,
                28,
                0.0
            };
            G_6500 = new double[23]
            {
                4116,
                3784,
                3378,
                2975,
                2801,
                2599,
                2485,
                2355,
                2203,
                2056,
                1990,
                1903,
                1780,
                1652,
                1478,
                1334,
                1100,
                924,
                579,
                239,
                78,
                32,
                0.0
            };
            G_7000 = new double[23]
            {
                4275,
                3839,
                3393,
                2985,
                2850,
                2658,
                2529,
                2447,
                2294,
                2117,
                2050,
                1971,
                1835,
                1693,
                1523,
                1373,
                1163,
                969,
                601,
                254,
                85,
                35,
                0.0
            };
            G_7500 = new double[23]
            {
                4471,
                3887,
                3394,
                3000,
                2880,
                2700,
                2589,
                2496,
                2361,
                2216,
                2129,
                2033,
                1872,
                1737,
                1566,
                1403,
                1214,
                1003,
                640,
                272,
                91,
                39,
                0.0
            };
            G_8000 = new double[23]
            {
                4689,
                3970,
                3405,
                3030,
                2900,
                2740,
                2598,
                2498,
                2410,
                2287,
                2170,
                2067,
                1902,
                1790,
                1622,
                1439,
                1260,
                1026,
                667,
                290,
                96,
                42,
                0.0
            };
            Matrix<double> p_21000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            #endregion




            var data = new List<Matrix<double>>
            {
                p_100,
                p_300,
                p_500,
                p_1000,
                p_2000,
                p_3000,
                p_5000,
                p_7000,
                p_10000,
                p_12000,
                p_14000,
                p_16000,
                p_18000,
                p_20000,
                p_21000
            };
            //i=P j=g k=x;
            for (int i = 0; i < 15; i++)
            {
                var matrix = data[i];
                for (int j = 0; j < 21; j++)
                {
                    for (int k = 0; k < 23; k++)
                    {
                        QLUT[i, j, k] = matrix[j, k];
                    }
                }
            }
        }

        public CHF() { }

        /// <summary>
        /// LookUpTable临界热流密度关系式:BASED ON CONSTANT LOCAL CONDITIONS(II.E., CONSTANT CRITICAL QUALITY)
        /// </summary>
        /// <param name="PP">SYSTEM PRESSURE    UNIT:Mpa</param>
        /// <param name="GMASS">SYSTEM FLOW RATE UNIT: kg / (m^2.s)</param>
        /// <param name="XX">QUALITY</param>
        /// <param name="DE">HYDRAULIC DIAMETER  UNIT: m</param>
        /// <returns>临界热流密度CRITICAL HEAT FLUX UNIT: W / m^2</returns>
        public static double LookUpTable_Formula(
            double PP,
            double GMASS,
            double XX,
            double DE = 0.008
        )
        {
            #region Look-up-table-2006 data

            ///p = 100.0
            ///G=0~8000
            double[] G_0 = new double[23]
            {
                8111,
                7252,
                6302,
                4802,
                4086,
                3057,
                1990,
                1142,
                637,
                415,
                284,
                223,
                188,
                165,
                152,
                142,
                133,
                123,
                114,
                110,
                96,
                55,
                0.0
            };
            double[] G_50 = new double[23]
            {
                8317,
                7271,
                6326,
                5035,
                4236,
                3453,
                2420,
                1570,
                1011,
                784,
                641,
                587,
                553,
                531,
                475,
                443,
                419,
                387,
                347,
                277,
                239,
                204,
                0.0
            };
            double[] G_100 = new double[23]
            {
                8390,
                7295,
                6371,
                5322,
                4586,
                3640,
                2942,
                2103,
                1558,
                1275,
                1013,
                885,
                847,
                811,
                789,
                758,
                745,
                715,
                700,
                600,
                459,
                359,
                0.0
            };
            double[] G_300 = new double[23]
            {
                10698,
                9288,
                7795,
                6020,
                5009,
                3865,
                3196,
                2479,
                1961,
                1707,
                1317,
                1177,
                1172,
                1159,
                1150,
                1100,
                1085,
                1041,
                1031,
                675,
                517,
                366,
                0.0
            };
            double[] G_500 = new double[23]
            {
                12882,
                10946,
                9224,
                6791,
                5348,
                3938,
                3369,
                2685,
                2087,
                1808,
                1412,
                1347,
                1311,
                1303,
                1282,
                1260,
                1212,
                1193,
                1071,
                605,
                450,
                295,
                0.0
            };
            double[] G_750 = new double[23]
            {
                16982,
                14405,
                11641,
                7496,
                5662,
                4234,
                3471,
                2780,
                2229,
                1970,
                1649,
                1606,
                1591,
                1563,
                1510,
                1495,
                1400,
                1280,
                595,
                415,
                243,
                206,
                0.0
            };
            double[] G_1000 = new double[23]
            {
                19441,
                16278,
                13255,
                8232,
                5971,
                4495,
                3533,
                3012,
                2653,
                2349,
                2070,
                2000,
                1980,
                1930,
                1715,
                1550,
                1359,
                1165,
                503,
                322,
                172,
                105,
                0.0
            };
            double[] G_1500 = new double[23]
            {
                22781,
                19225,
                15465,
                9100,
                6603,
                5358,
                3741,
                3524,
                3166,
                2917,
                2635,
                2572,
                2467,
                2378,
                1908,
                1350,
                1005,
                815,
                302,
                210,
                126,
                51,
                0.0
            };
            double[] G_2000 = new double[23]
            {
                25268,
                21321,
                17143,
                9141,
                7059,
                6036,
                4074,
                3855,
                3556,
                3402,
                3167,
                2986,
                2720,
                2549,
                1696,
                1105,
                805,
                595,
                247,
                105,
                87,
                39,
                0.0
            };
            double[] G_2500 = new double[23]
            {
                28026,
                23599,
                18346,
                9503,
                7506,
                6516,
                4502,
                4047,
                3852,
                3599,
                3228,
                3019,
                2676,
                2458,
                1148,
                956,
                708,
                485,
                290,
                120,
                46,
                22,
                0.0
            };
            double[] G_3000 = new double[23]
            {
                30294,
                25465,
                19383,
                9779,
                8063,
                7088,
                4826,
                4182,
                3976,
                3389,
                2968,
                2706,
                2369,
                1829,
                940,
                846,
                665,
                532,
                302,
                159,
                55,
                20,
                0.0
            };
            double[] G_3500 = new double[23]
            {
                32227,
                27043,
                21068,
                10156,
                8518,
                7302,
                5113,
                4384,
                4106,
                3196,
                2769,
                2557,
                2311,
                1729,
                1158,
                891,
                817,
                670,
                402,
                210,
                75,
                28,
                0.0
            };
            double[] G_4000 = new double[23]
            {
                33928,
                28471,
                22722,
                10512,
                8728,
                7528,
                5582,
                4709,
                4228,
                3119,
                2736,
                2504,
                2282,
                1850,
                1470,
                1160,
                1030,
                823,
                475,
                248,
                96,
                38,
                0.0
            };
            double[] G_4500 = new double[23]
            {
                35406,
                29774,
                23890,
                10945,
                9088,
                8067,
                6267,
                5013,
                4272,
                3287,
                2769,
                2541,
                2304,
                1972,
                1718,
                1405,
                1185,
                969,
                585,
                289,
                129,
                61,
                0.0
            };
            double[] G_5000 = new double[23]
            {
                36808,
                30988,
                24979,
                11185,
                9592,
                8576,
                6748,
                5113,
                4342,
                3410,
                2890,
                2629,
                2355,
                2066,
                1779,
                1498,
                1247,
                1030,
                647,
                347,
                167,
                81,
                0.0
            };
            double[] G_5500 = new double[23]
            {
                38232,
                32141,
                25791,
                11929,
                10084,
                8940,
                6867,
                5175,
                4389,
                3465,
                2954,
                2680,
                2406,
                2128,
                1848,
                1595,
                1334,
                1118,
                729,
                409,
                206,
                101,
                0.0
            };
            double[] G_6000 = new double[23]
            {
                39525,
                33222,
                26637,
                13026,
                10396,
                9347,
                6919,
                5241,
                4423,
                3580,
                2921,
                2681,
                2447,
                2170,
                1908,
                1651,
                1418,
                1204,
                807,
                468,
                244,
                121,
                0.0
            };
            double[] G_6500 = new double[23]
            {
                40727,
                34244,
                27480,
                14371,
                10748,
                9701,
                6995,
                5295,
                4491,
                3620,
                2918,
                2694,
                2477,
                2209,
                1965,
                1719,
                1493,
                1281,
                878,
                523,
                282,
                142,
                0.0
            };
            double[] G_7000 = new double[23]
            {
                41950,
                35224,
                28165,
                15045,
                11091,
                10522,
                7062,
                5370,
                4513,
                3668,
                2958,
                2724,
                2501,
                2247,
                2013,
                1780,
                1559,
                1349,
                943,
                576,
                319,
                162,
                0.0
            };
            double[] G_7500 = new double[23]
            {
                43448,
                36075,
                28604,
                15822,
                11538,
                10726,
                7087,
                5381,
                4585,
                3699,
                2996,
                2751,
                2526,
                2285,
                2060,
                1838,
                1622,
                1414,
                1000,
                615,
                347,
                180,
                0.0
            };
            double[] G_8000 = new double[23]
            {
                44338,
                36803,
                29089,
                16599,
                12085,
                10900,
                7313,
                5392,
                4689,
                3780,
                3031,
                2778,
                2553,
                2320,
                2103,
                1890,
                1679,
                1473,
                1054,
                651,
                371,
                196,
                0.0
            };
            Matrix<double> p_100 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 300.0
            G_0 = new double[23]
            {
                8027,
                7043,
                6206,
                4761,
                4106,
                3131,
                2483,
                1374,
                883,
                606,
                420,
                313,
                248,
                205,
                180,
                165,
                148,
                141,
                135,
                131,
                125,
                67,
                0.0
            };
            G_50 = new double[23]
            {
                8153,
                7058,
                6287,
                5304,
                4564,
                3729,
                2847,
                2071,
                1587,
                1315,
                1052,
                871,
                709,
                599,
                516,
                499,
                457,
                389,
                372,
                362,
                274,
                207,
                0.0
            };
            G_100 = new double[23]
            {
                8418,
                7315,
                6499,
                5509,
                4883,
                4013,
                3238,
                2638,
                2150,
                1869,
                1528,
                1373,
                1262,
                1183,
                1127,
                1065,
                1057,
                1033,
                902,
                691,
                502,
                394,
                0.0
            };
            G_300 = new double[23]
            {
                10397,
                9094,
                7805,
                6085,
                5320,
                4107,
                3429,
                3011,
                2617,
                2263,
                1862,
                1657,
                1614,
                1576,
                1513,
                1480,
                1446,
                1403,
                1193,
                722,
                572,
                419,
                0.0
            };
            G_500 = new double[23]
            {
                12787,
                10894,
                9193,
                6962,
                5664,
                4134,
                3563,
                3285,
                2821,
                2405,
                2001,
                1832,
                1688,
                1663,
                1610,
                1610,
                1520,
                1504,
                1112,
                616,
                452,
                297,
                0.0
            };
            G_750 = new double[23]
            {
                16084,
                13658,
                11132,
                7493,
                5853,
                4282,
                3743,
                3512,
                2987,
                2538,
                2062,
                1868,
                1698,
                1676,
                1636,
                1598,
                1447,
                1300,
                656,
                440,
                253,
                207,
                0.0
            };
            G_1000 = new double[23]
            {
                17866,
                15378,
                12753,
                8194,
                6038,
                4572,
                3898,
                3610,
                3224,
                2791,
                2450,
                2230,
                2070,
                1990,
                1805,
                1570,
                1369,
                1173,
                523,
                334,
                184,
                112,
                0.0
            };
            G_1500 = new double[23]
            {
                21559,
                18208,
                14718,
                9252,
                7091,
                6091,
                4818,
                4243,
                3557,
                3134,
                2981,
                2720,
                2658,
                2491,
                2042,
                1365,
                1016,
                813,
                308,
                210,
                130,
                57,
                0.0
            };
            G_2000 = new double[23]
            {
                23993,
                20257,
                16367,
                10134,
                8179,
                6790,
                5171,
                4462,
                3759,
                3490,
                3410,
                3232,
                2894,
                2672,
                1803,
                1108,
                822,
                599,
                254,
                118,
                88,
                41,
                0.0
            };
            G_2500 = new double[23]
            {
                26215,
                22280,
                18013,
                10477,
                8534,
                7134,
                5245,
                4519,
                3951,
                3681,
                3444,
                3248,
                2846,
                2521,
                1168,
                981,
                732,
                488,
                292,
                132,
                47,
                23,
                0.0
            };
            G_3000 = new double[23]
            {
                27747,
                23975,
                19028,
                10840,
                8691,
                7393,
                5326,
                4551,
                4081,
                3502,
                3082,
                2977,
                2523,
                1868,
                945,
                852,
                681,
                534,
                304,
                161,
                56,
                21,
                0.0
            };
            G_3500 = new double[23]
            {
                29254,
                25440,
                20427,
                10948,
                8793,
                7585,
                5600,
                4681,
                4195,
                3283,
                2967,
                2695,
                2389,
                1788,
                1170,
                895,
                820,
                675,
                410,
                226,
                76,
                29,
                0.0
            };
            G_4000 = new double[23]
            {
                30763,
                26771,
                21520,
                11006,
                8997,
                8017,
                6253,
                5184,
                4271,
                3344,
                2951,
                2648,
                2383,
                1960,
                1500,
                1170,
                1050,
                850,
                499,
                264,
                97,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                32150,
                27994,
                22599,
                11137,
                9388,
                8517,
                6725,
                5594,
                4329,
                3504,
                2981,
                2677,
                2408,
                2094,
                1746,
                1423,
                1228,
                998,
                600,
                304,
                126,
                59,
                0.0
            };
            G_5000 = new double[23]
            {
                33465,
                29133,
                23700,
                11600,
                9705,
                8845,
                7103,
                6052,
                4369,
                3655,
                3048,
                2739,
                2449,
                2139,
                1843,
                1542,
                1289,
                1061,
                665,
                358,
                165,
                80,
                0.0
            };
            G_5500 = new double[23]
            {
                34919,
                30223,
                24325,
                12512,
                10147,
                9115,
                7281,
                6122,
                4427,
                3720,
                3070,
                2776,
                2501,
                2200,
                1881,
                1636,
                1377,
                1153,
                748,
                418,
                206,
                100,
                0.0
            };
            G_6000 = new double[23]
            {
                36122,
                31241,
                25169,
                13522,
                10870,
                9576,
                7398,
                6323,
                4481,
                3685,
                3104,
                2773,
                2543,
                2247,
                1942,
                1708,
                1462,
                1241,
                828,
                476,
                244,
                121,
                0.0
            };
            G_6500 = new double[23]
            {
                37231,
                32198,
                25960,
                14708,
                11330,
                10024,
                7446,
                6440,
                4571,
                3705,
                3123,
                2783,
                2578,
                2288,
                2004,
                1783,
                1543,
                1320,
                902,
                532,
                268,
                142,
                0.0
            };
            G_7000 = new double[23]
            {
                38099,
                33093,
                26558,
                15513,
                11759,
                10532,
                7599,
                6469,
                4650,
                3772,
                3155,
                2812,
                2605,
                2327,
                2037,
                1844,
                1611,
                1391,
                970,
                586,
                303,
                150,
                0.0
            };
            G_7500 = new double[23]
            {
                38989,
                34027,
                27283,
                16123,
                12062,
                10765,
                7689,
                6500,
                4702,
                3784,
                3221,
                2839,
                2625,
                2361,
                2095,
                1898,
                1673,
                1456,
                1029,
                627,
                331,
                166,
                0.0
            };
            G_8000 = new double[23]
            {
                39744,
                34510,
                27900,
                16757,
                12891,
                11128,
                7784,
                6544,
                4760,
                3892,
                3228,
                2867,
                2649,
                2395,
                2126,
                1946,
                1728,
                1514,
                1083,
                664,
                356,
                181,
                0.0
            };
            Matrix<double> p_300 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 500.0
            G_0 = new double[23]
            {
                7743,
                6834,
                5910,
                4720,
                4136,
                3342,
                2518,
                1607,
                1129,
                798,
                557,
                404,
                308,
                245,
                209,
                188,
                163,
                159,
                157,
                156,
                137,
                105,
                0.0
            };
            G_50 = new double[23]
            {
                7983,
                7004,
                6274,
                5355,
                4711,
                3853,
                2989,
                2170,
                1731,
                1344,
                1119,
                958,
                852,
                775,
                684,
                556,
                495,
                465,
                407,
                395,
                282,
                235,
                0.0
            };
            G_100 = new double[23]
            {
                8478,
                7421,
                6632,
                5627,
                5080,
                4057,
                3317,
                2754,
                2270,
                1988,
                1704,
                1399,
                1316,
                1229,
                1188,
                1122,
                1116,
                1109,
                940,
                711,
                523,
                417,
                0.0
            };
            G_300 = new double[23]
            {
                10280,
                8983,
                7804,
                6235,
                5491,
                4193,
                3498,
                3165,
                2835,
                2537,
                2243,
                2028,
                1826,
                1647,
                1611,
                1545,
                1503,
                1464,
                1255,
                749,
                592,
                449,
                0.0
            };
            G_500 = new double[23]
            {
                12694,
                10885,
                9073,
                7008,
                5780,
                4281,
                3671,
                3339,
                3157,
                2811,
                2462,
                2253,
                1933,
                1711,
                1651,
                1630,
                1534,
                1506,
                1177,
                676,
                476,
                300,
                0.0
            };
            G_750 = new double[23]
            {
                15186,
                12992,
                10624,
                7610,
                5957,
                4356,
                3855,
                3630,
                3442,
                2994,
                2680,
                2379,
                1982,
                1740,
                1699,
                1615,
                1469,
                1307,
                684,
                503,
                274,
                209,
                0.0
            };
            G_1000 = new double[23]
            {
                17460,
                14778,
                12051,
                8057,
                6145,
                4629,
                4062,
                3870,
                3684,
                3304,
                3109,
                2885,
                2613,
                2251,
                1927,
                1599,
                1399,
                1179,
                540,
                362,
                186,
                119,
                0.0
            };
            G_1500 = new double[23]
            {
                20438,
                17191,
                13972,
                9365,
                7340,
                6298,
                5248,
                4711,
                4048,
                3594,
                3491,
                3278,
                3149,
                2774,
                2123,
                1382,
                1056,
                833,
                310,
                215,
                134,
                65,
                0.0
            };
            G_2000 = new double[23]
            {
                22719,
                19293,
                15591,
                10327,
                8310,
                7309,
                5675,
                5017,
                4215,
                3772,
                3693,
                3578,
                3169,
                2795,
                1850,
                1115,
                832,
                603,
                260,
                132,
                89,
                43,
                0.0
            };
            G_2500 = new double[23]
            {
                25104,
                20961,
                17081,
                10751,
                8703,
                7675,
                5987,
                5151,
                4435,
                3863,
                3759,
                3478,
                3017,
                2647,
                1176,
                1009,
                780,
                492,
                296,
                145,
                48,
                24,
                0.0
            };
            G_3000 = new double[23]
            {
                26621,
                22486,
                18273,
                11002,
                8920,
                8034,
                6194,
                5168,
                4595,
                3955,
                3690,
                3216,
                2761,
                1905,
                948,
                862,
                698,
                560,
                306,
                163,
                58,
                22,
                0.0
            };
            G_3500 = new double[23]
            {
                28248,
                23838,
                19186,
                11141,
                9008,
                8154,
                6399,
                5384,
                4757,
                3992,
                3489,
                3066,
                2723,
                1856,
                1201,
                899,
                825,
                681,
                420,
                229,
                77,
                30,
                0.0
            };
            G_4000 = new double[23]
            {
                29719,
                25071,
                20019,
                11201,
                9267,
                8238,
                6955,
                5858,
                4922,
                4029,
                3355,
                2991,
                2692,
                2090,
                1540,
                1180,
                1060,
                870,
                532,
                271,
                98,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                31075,
                26215,
                20508,
                11429,
                9919,
                8968,
                7201,
                6212,
                5083,
                4098,
                3257,
                2958,
                2663,
                2204,
                1776,
                1437,
                1240,
                1003,
                612,
                315,
                124,
                54,
                0.0
            };
            G_5000 = new double[23]
            {
                32376,
                27279,
                21190,
                11913,
                10245,
                9208,
                7321,
                6399,
                5162,
                4132,
                3186,
                2907,
                2639,
                2230,
                1858,
                1551,
                1310,
                1085,
                693,
                368,
                153,
                70,
                0.0
            };
            G_5500 = new double[23]
            {
                33684,
                28306,
                22359,
                12695,
                10581,
                9306,
                7407,
                6209,
                5291,
                4141,
                3175,
                2896,
                2637,
                2259,
                1927,
                1651,
                1401,
                1178,
                772,
                423,
                186,
                86,
                0.0
            };
            G_6000 = new double[23]
            {
                34756,
                29261,
                23302,
                14018,
                11114,
                9598,
                7526,
                6332,
                5399,
                4190,
                3180,
                2913,
                2652,
                2287,
                1985,
                1728,
                1482,
                1263,
                850,
                478,
                220,
                103,
                0.0
            };
            G_6500 = new double[23]
            {
                35781,
                30153,
                24141,
                14945,
                11567,
                9948,
                7751,
                6496,
                5481,
                4230,
                3246,
                2935,
                2666,
                2319,
                2029,
                1797,
                1560,
                1342,
                927,
                534,
                254,
                121,
                0.0
            };
            G_7000 = new double[23]
            {
                36804,
                30962,
                24952,
                15581,
                12151,
                10333,
                8027,
                6828,
                5588,
                4307,
                3294,
                2939,
                2682,
                2361,
                2077,
                1864,
                1632,
                1416,
                997,
                588,
                288,
                139,
                0.0
            };
            G_7500 = new double[23]
            {
                38036,
                31979,
                25663,
                16185,
                12686,
                10753,
                8176,
                6845,
                5700,
                4370,
                3351,
                2947,
                2697,
                2398,
                2127,
                1918,
                1695,
                1480,
                1060,
                631,
                315,
                153,
                0.0
            };
            G_8000 = new double[23]
            {
                39197,
                33017,
                26712,
                17016,
                13200,
                11107,
                8256,
                6896,
                5794,
                4485,
                3389,
                3069,
                2734,
                2442,
                2177,
                1967,
                1751,
                1540,
                1120,
                672,
                342,
                166,
                0.0
            };
            Matrix<double> p_500 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 1000.0
            G_0 = new double[23]
            {
                7347,
                6383,
                5570,
                4657,
                4175,
                3535,
                2776,
                2159,
                1820,
                1320,
                940,
                678,
                492,
                377,
                318,
                291,
                269,
                254,
                231,
                220,
                193,
                145,
                0.0
            };
            G_50 = new double[23]
            {
                7700,
                6956,
                6204,
                5406,
                4891,
                4169,
                3412,
                2702,
                2473,
                1966,
                1607,
                1351,
                1179,
                1068,
                933,
                770,
                723,
                706,
                586,
                522,
                369,
                282,
                0.0
            };
            G_100 = new double[23]
            {
                8581,
                7702,
                6906,
                5824,
                5173,
                4600,
                4000,
                3609,
                3069,
                2549,
                2380,
                2216,
                2087,
                1949,
                1798,
                1700,
                1652,
                1541,
                1280,
                1078,
                708,
                501,
                0.0
            };
            G_300 = new double[23]
            {
                10093,
                8830,
                7796,
                6476,
                5710,
                4793,
                4140,
                4013,
                3901,
                3685,
                3471,
                3372,
                3276,
                3172,
                2993,
                2871,
                2766,
                2594,
                1727,
                1302,
                815,
                514,
                0.0
            };
            G_500 = new double[23]
            {
                12148,
                10478,
                8703,
                7200,
                6004,
                4837,
                4259,
                4124,
                4063,
                3995,
                3980,
                3953,
                3938,
                3790,
                3678,
                3579,
                3537,
                3445,
                1564,
                1067,
                649,
                377,
                0.0
            };
            G_750 = new double[23]
            {
                14675,
                12510,
                10033,
                7775,
                6255,
                4896,
                4378,
                4337,
                4228,
                4200,
                4162,
                4083,
                3997,
                3851,
                3810,
                3473,
                3291,
                3102,
                832,
                623,
                322,
                213,
                0.0
            };
            G_1000 = new double[23]
            {
                17023,
                14042,
                11114,
                8024,
                6275,
                4978,
                4804,
                4736,
                4616,
                4351,
                4177,
                4099,
                3998,
                3896,
                3708,
                3148,
                2620,
                1199,
                636,
                391,
                189,
                128,
                0.0
            };
            G_1500 = new double[23]
            {
                20026,
                16859,
                13366,
                9481,
                7659,
                6918,
                6497,
                5831,
                5246,
                4610,
                4271,
                4057,
                3704,
                3655,
                3049,
                1601,
                1238,
                843,
                315,
                218,
                138,
                75,
                0.0
            };
            G_2000 = new double[23]
            {
                22495,
                18764,
                14921,
                10539,
                9084,
                7740,
                6830,
                6373,
                5480,
                4704,
                4407,
                3992,
                3596,
                3330,
                1957,
                1122,
                873,
                624,
                268,
                155,
                90,
                46,
                0.0
            };
            G_2500 = new double[23]
            {
                24717,
                20601,
                16332,
                11001,
                9794,
                8318,
                7090,
                6583,
                5633,
                4794,
                4338,
                3811,
                3566,
                2927,
                1197,
                1012,
                823,
                521,
                300,
                149,
                49,
                26,
                0.0
            };
            G_3000 = new double[23]
            {
                26264,
                22053,
                17370,
                11532,
                10209,
                8496,
                7195,
                6673,
                5671,
                4871,
                4244,
                3718,
                3325,
                2007,
                977,
                895,
                701,
                583,
                313,
                168,
                59,
                24,
                0.0
            };
            G_3500 = new double[23]
            {
                27894,
                23473,
                18245,
                11516,
                10075,
                8480,
                7278,
                6704,
                5714,
                4887,
                4229,
                3597,
                3109,
                1924,
                1223,
                919,
                831,
                690,
                431,
                247,
                80,
                33,
                0.0
            };
            G_4000 = new double[23]
            {
                29406,
                24586,
                18990,
                11029,
                9419,
                8550,
                7359,
                6714,
                5752,
                4750,
                4075,
                3520,
                3031,
                2210,
                1620,
                1230,
                1090,
                890,
                545,
                300,
                101,
                40,
                0.0
            };
            G_4500 = new double[23]
            {
                30773,
                25743,
                19791,
                11226,
                9952,
                9143,
                7572,
                6924,
                5778,
                4571,
                3881,
                3430,
                2986,
                2349,
                1805,
                1456,
                1249,
                1030,
                629,
                331,
                122,
                51,
                0.0
            };
            G_5000 = new double[23]
            {
                31994,
                26863,
                20592,
                12193,
                10358,
                9185,
                7623,
                6934,
                5919,
                4492,
                3722,
                3317,
                2924,
                2357,
                1874,
                1562,
                1337,
                1109,
                703,
                372,
                146,
                64,
                0.0
            };
            G_5500 = new double[23]
            {
                33271,
                27872,
                21588,
                13122,
                10898,
                9280,
                7551,
                6744,
                6006,
                4590,
                3694,
                3272,
                2887,
                2358,
                1938,
                1664,
                1428,
                1200,
                781,
                427,
                173,
                78,
                0.0
            };
            G_6000 = new double[23]
            {
                34314,
                28814,
                22490,
                14247,
                11388,
                9491,
                7633,
                6655,
                6024,
                4616,
                3548,
                3236,
                2856,
                2372,
                2006,
                1746,
                1506,
                1280,
                856,
                477,
                204,
                95,
                0.0
            };
            G_6500 = new double[23]
            {
                35402,
                29678,
                23127,
                14949,
                11882,
                9883,
                7866,
                6765,
                6151,
                4649,
                3592,
                3194,
                2864,
                2403,
                2060,
                1829,
                1587,
                1362,
                935,
                530,
                236,
                112,
                0.0
            };
            G_7000 = new double[23]
            {
                36417,
                30478,
                23637,
                15247,
                12338,
                10051,
                8088,
                6875,
                6185,
                4676,
                3617,
                3231,
                2818,
                2445,
                2122,
                1909,
                1670,
                1445,
                1008,
                583,
                269,
                129,
                0.0
            };
            G_7500 = new double[23]
            {
                37289,
                31065,
                24195,
                16170,
                12803,
                10604,
                8228,
                6965,
                6238,
                4694,
                3628,
                3251,
                2897,
                2480,
                2219,
                1968,
                1736,
                1512,
                1074,
                630,
                291,
                140,
                0.0
            };
            G_8000 = new double[23]
            {
                38003,
                31712,
                25017,
                17157,
                13534,
                11049,
                8426,
                6995,
                6294,
                4822,
                3674,
                3301,
                2917,
                2547,
                2272,
                2021,
                1794,
                1573,
                1136,
                668,
                312,
                150,
                0.0
            };

            Matrix<double> p_1000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p=2000
            G_0 = new double[23]
            {
                7060,
                6243,
                5413,
                4622,
                4189,
                3713,
                3173,
                2594,
                2165,
                1704,
                1302,
                970,
                745,
                587,
                491,
                438,
                380,
                361,
                323,
                317,
                232,
                170,
                0.0
            };
            G_50 = new double[23]
            {
                7497,
                6756,
                6040,
                5351,
                4927,
                4460,
                3982,
                3450,
                3005,
                2552,
                2160,
                1834,
                1613,
                1447,
                1331,
                1209,
                1089,
                1069,
                924,
                845,
                658,
                373,
                0.0
            };
            G_100 = new double[23]
            {
                8767,
                7820,
                7040,
                6207,
                5946,
                5556,
                5241,
                4757,
                4071,
                3657,
                3326,
                3072,
                2933,
                2801,
                2599,
                2487,
                2393,
                2313,
                1996,
                1720,
                1123,
                594,
                0.0
            };
            G_300 = new double[23]
            {
                9784,
                8590,
                7775,
                7108,
                6722,
                6403,
                6064,
                5659,
                5220,
                4908,
                4646,
                4362,
                4026,
                3725,
                3563,
                3475,
                3375,
                3276,
                2998,
                2266,
                1252,
                690,
                0.0
            };
            G_500 = new double[23]
            {
                11464,
                9687,
                8430,
                7528,
                6977,
                6611,
                6260,
                6084,
                5540,
                5280,
                4924,
                4584,
                4373,
                4197,
                4076,
                3929,
                3828,
                3695,
                3362,
                1898,
                1109,
                609,
                0.0
            };
            G_750 = new double[23]
            {
                13730,
                11557,
                9579,
                7868,
                7076,
                6656,
                6388,
                6097,
                5696,
                5338,
                5083,
                4870,
                4700,
                4590,
                4478,
                4396,
                4033,
                3811,
                1948,
                1194,
                700,
                229,
                0.0
            };
            G_1000 = new double[23]
            {
                16027,
                13171,
                10583,
                7982,
                7118,
                6692,
                6371,
                6185,
                5781,
                5417,
                5197,
                5083,
                4992,
                4961,
                4792,
                4196,
                3311,
                2751,
                1260,
                597,
                359,
                174,
                0.0
            };
            G_1500 = new double[23]
            {
                18947,
                15537,
                12233,
                9416,
                8215,
                7670,
                7342,
                6660,
                6095,
                5463,
                5141,
                4871,
                4766,
                4524,
                4389,
                2926,
                1903,
                897,
                512,
                288,
                163,
                97,
                0.0
            };
            G_2000 = new double[23]
            {
                21106,
                17297,
                13588,
                10513,
                9584,
                8982,
                8305,
                7261,
                6199,
                5406,
                4996,
                4595,
                4283,
                3824,
                3026,
                1357,
                1172,
                682,
                418,
                196,
                97,
                60,
                0.0
            };
            G_2500 = new double[23]
            {
                23353,
                19098,
                14933,
                11161,
                10279,
                8996,
                8116,
                7196,
                5976,
                5302,
                4856,
                4552,
                3943,
                3328,
                1613,
                1237,
                958,
                556,
                313,
                157,
                53,
                29,
                0.0
            };
            G_3000 = new double[23]
            {
                25197,
                20509,
                15816,
                11602,
                10578,
                8792,
                7549,
                7112,
                5860,
                5169,
                4798,
                4483,
                3798,
                2570,
                1185,
                1020,
                731,
                594,
                331,
                172,
                59,
                27,
                0.0
            };
            G_3500 = new double[23]
            {
                26816,
                21723,
                16526,
                11317,
                10169,
                8672,
                7475,
                7057,
                5794,
                5042,
                4687,
                4310,
                3476,
                2403,
                1342,
                979,
                839,
                697,
                442,
                254,
                83,
                36,
                0.0
            };
            G_4000 = new double[23]
            {
                28328,
                22765,
                16902,
                10802,
                9806,
                8752,
                7542,
                7103,
                5878,
                4951,
                4485,
                3868,
                3301,
                2367,
                1642,
                1318,
                1147,
                996,
                606,
                318,
                104,
                40,
                0.0
            };
            G_4500 = new double[23]
            {
                29717,
                23920,
                17644,
                10857,
                9984,
                8899,
                7663,
                7149,
                5913,
                4875,
                4223,
                3760,
                3206,
                2375,
                1758,
                1445,
                1258,
                1062,
                653,
                340,
                119,
                47,
                0.0
            };
            G_5000 = new double[23]
            {
                30638,
                24767,
                18164,
                11811,
                10290,
                9037,
                7624,
                7195,
                5997,
                4789,
                4069,
                3605,
                3089,
                2389,
                1803,
                1545,
                1346,
                1131,
                712,
                380,
                134,
                56,
                0.0
            };
            G_5500 = new double[23]
            {
                32102,
                25866,
                18832,
                12769,
                10862,
                9069,
                7652,
                7041,
                6021,
                4783,
                3970,
                3532,
                3006,
                2379,
                1897,
                1647,
                1440,
                1212,
                781,
                412,
                153,
                67,
                0.0
            };
            G_6000 = new double[23]
            {
                33085,
                26751,
                19986,
                13576,
                11244,
                9316,
                7681,
                6987,
                6065,
                4800,
                3812,
                3481,
                2959,
                2391,
                1992,
                1742,
                1516,
                1287,
                848,
                452,
                177,
                80,
                0.0
            };
            G_6500 = new double[23]
            {
                34156,
                27592,
                20946,
                14138,
                11703,
                9812,
                7927,
                6933,
                6099,
                4851,
                3728,
                3431,
                2947,
                2452,
                2094,
                1842,
                1602,
                1371,
                928,
                499,
                205,
                95,
                0.0
            };
            G_7000 = new double[23]
            {
                35131,
                28383,
                21563,
                14625,
                12253,
                10016,
                8186,
                6988,
                6134,
                4932,
                3753,
                3344,
                2933,
                2513,
                2190,
                1935,
                1692,
                1458,
                1006,
                551,
                233,
                110,
                0.0
            };
            G_7500 = new double[23]
            {
                35897,
                29010,
                22130,
                15499,
                12704,
                10558,
                8396,
                7041,
                6198,
                5027,
                3844,
                3322,
                2983,
                2581,
                2286,
                2013,
                1767,
                1530,
                1073,
                599,
                247,
                118,
                0.0
            };
            G_8000 = new double[23]
            {
                36663,
                29609,
                22628,
                16442,
                13306,
                10940,
                8676,
                7070,
                6292,
                5167,
                3886,
                3403,
                3098,
                2696,
                2363,
                2077,
                1827,
                1595,
                1134,
                633,
                259,
                123,
                0.0
            };
            Matrix<double> p_2000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p=3000
            G_0 = new double[23]
            {
                6741,
                6001,
                5272,
                4593,
                4213,
                3873,
                3447,
                2943,
                2431,
                1979,
                1551,
                1181,
                929,
                741,
                615,
                539,
                482,
                443,
                396,
                350,
                247,
                178,
                0.0
            };
            G_50 = new double[23]
            {
                7222,
                6535,
                5910,
                5303,
                4961,
                4653,
                4297,
                3850,
                3325,
                2890,
                2482,
                2126,
                1884,
                1693,
                1549,
                1449,
                1361,
                1333,
                1219,
                1105,
                704,
                429,
                0.0
            };
            G_100 = new double[23]
            {
                8514,
                7599,
                6831,
                6315,
                6057,
                5809,
                5525,
                5121,
                4495,
                3921,
                3575,
                3415,
                3262,
                3171,
                3010,
                2948,
                2926,
                2771,
                2483,
                2059,
                1264,
                672,
                0.0
            };
            G_300 = new double[23]
            {
                9536,
                8324,
                7523,
                7171,
                7064,
                6874,
                6780,
                6474,
                6115,
                5666,
                5165,
                4849,
                4508,
                4218,
                3971,
                3752,
                3545,
                3485,
                3140,
                2620,
                1630,
                893,
                0.0
            };
            G_500 = new double[23]
            {
                10708,
                9149,
                8018,
                7426,
                7188,
                7073,
                6950,
                6649,
                6453,
                5959,
                5439,
                5061,
                4767,
                4432,
                4259,
                4150,
                3967,
                3742,
                3589,
                2645,
                1604,
                956,
                0.0
            };
            G_750 = new double[23]
            {
                12850,
                10680,
                8910,
                7794,
                7444,
                7249,
                7010,
                6753,
                6553,
                6159,
                5644,
                5287,
                4988,
                4677,
                4591,
                4477,
                4271,
                3926,
                3069,
                1951,
                930,
                382,
                0.0
            };
            G_1000 = new double[23]
            {
                14637,
                12105,
                9835,
                7934,
                7668,
                7280,
                7085,
                6777,
                6547,
                6178,
                5762,
                5420,
                5207,
                4928,
                4690,
                4459,
                3879,
                3581,
                2405,
                1146,
                587,
                270,
                0.0
            };
            G_1500 = new double[23]
            {
                17032,
                14038,
                11355,
                9127,
                8517,
                8118,
                7806,
                7186,
                6517,
                6030,
                5546,
                5170,
                4998,
                4699,
                4281,
                3622,
                3030,
                2756,
                755,
                656,
                256,
                139,
                0.0
            };
            G_2000 = new double[23]
            {
                18967,
                15630,
                12632,
                10069,
                9300,
                8626,
                8094,
                7373,
                6337,
                5718,
                5192,
                4738,
                4342,
                3782,
                3448,
                2612,
                1739,
                938,
                499,
                279,
                115,
                82,
                0.0
            };
            G_2500 = new double[23]
            {
                21002,
                17244,
                13569,
                10901,
                9793,
                8745,
                7997,
                7221,
                6085,
                5432,
                4993,
                4483,
                3959,
                3547,
                2900,
                1819,
                978,
                657,
                342,
                169,
                63,
                39,
                0.0
            };
            G_3000 = new double[23]
            {
                22678,
                18551,
                14553,
                11208,
                10022,
                8672,
                7642,
                6860,
                5771,
                5187,
                4839,
                4355,
                3698,
                3152,
                2289,
                1188,
                774,
                578,
                348,
                179,
                63,
                32,
                0.0
            };
            G_3500 = new double[23]
            {
                24225,
                19619,
                15027,
                10936,
                9909,
                8471,
                7428,
                6681,
                5567,
                5023,
                4646,
                4230,
                3567,
                2745,
                1684,
                1107,
                859,
                717,
                458,
                268,
                92,
                39,
                0.0
            };
            G_4000 = new double[23]
            {
                25515,
                20591,
                15544,
                10471,
                9773,
                8428,
                7236,
                6508,
                5489,
                4877,
                4475,
                3897,
                3404,
                2484,
                1609,
                1338,
                1175,
                1004,
                625,
                334,
                110,
                41,
                0.0
            };
            G_4500 = new double[23]
            {
                26660,
                21487,
                15956,
                10512,
                9920,
                8426,
                7206,
                6588,
                5452,
                4690,
                4299,
                3747,
                3179,
                2366,
                1680,
                1410,
                1235,
                1079,
                668,
                355,
                119,
                47,
                0.0
            };
            G_5000 = new double[23]
            {
                27501,
                22290,
                16371,
                11621,
                10005,
                8768,
                7328,
                6596,
                5395,
                4583,
                4141,
                3624,
                3095,
                2314,
                1740,
                1498,
                1329,
                1142,
                717,
                382,
                131,
                54,
                0.0
            };
            G_5500 = new double[23]
            {
                28809,
                23183,
                17231,
                12402,
                10644,
                8980,
                7486,
                6632,
                5297,
                4509,
                3993,
                3593,
                3009,
                2318,
                1828,
                1606,
                1429,
                1215,
                781,
                400,
                147,
                63,
                0.0
            };
            G_6000 = new double[23]
            {
                29772,
                24039,
                18048,
                13154,
                11082,
                9224,
                7628,
                6695,
                5194,
                4444,
                3860,
                3543,
                2963,
                2333,
                1936,
                1719,
                1506,
                1282,
                839,
                434,
                168,
                75,
                0.0
            };
            G_6500 = new double[23]
            {
                30660,
                24751,
                18858,
                13660,
                11303,
                9721,
                7856,
                6714,
                5329,
                4555,
                3791,
                3514,
                2974,
                2439,
                2068,
                1835,
                1598,
                1364,
                917,
                479,
                194,
                89,
                0.0
            };
            G_7000 = new double[23]
            {
                31524,
                25478,
                19488,
                14216,
                11986,
                10000,
                8174,
                6762,
                5540,
                4605,
                3787,
                3398,
                2974,
                2535,
                2197,
                1944,
                1696,
                1457,
                999,
                531,
                223,
                104,
                0.0
            };
            G_7500 = new double[23]
            {
                32450,
                26191,
                20150,
                14817,
                12357,
                10509,
                8486,
                6885,
                5646,
                4685,
                3850,
                3328,
                3008,
                2644,
                2326,
                2034,
                1775,
                1531,
                1067,
                574,
                239,
                112,
                0.0
            };
            G_8000 = new double[23]
            {
                33419,
                26895,
                20708,
                15335,
                12944,
                10989,
                8752,
                6939,
                5798,
                4902,
                3882,
                3428,
                3160,
                2801,
                2418,
                2105,
                1838,
                1597,
                1129,
                605,
                253,
                119,
                0.0
            };
            Matrix<double> p_3000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p=5000

            G_0 = new double[23]
            {
                6044,
                5513,
                4986,
                4500,
                4239,
                3976,
                3666,
                3277,
                2677,
                2242,
                1808,
                1417,
                1154,
                944,
                795,
                694,
                619,
                561,
                456,
                366,
                257,
                191,
                0.0
            };
            G_50 = new double[23]
            {
                6547,
                6028,
                5573,
                5138,
                4921,
                4675,
                4407,
                4046,
                3467,
                3055,
                2662,
                2309,
                2065,
                1869,
                1715,
                1595,
                1493,
                1387,
                1330,
                1160,
                608,
                385,
                0.0
            };
            G_100 = new double[23]
            {
                7615,
                6922,
                6388,
                6040,
                5888,
                5703,
                5517,
                5192,
                4529,
                3997,
                3709,
                3524,
                3374,
                3240,
                3148,
                3053,
                3000,
                2837,
                2575,
                2202,
                1460,
                753,
                0.0
            };
            G_300 = new double[23]
            {
                8492,
                7453,
                6937,
                6709,
                6623,
                6510,
                6401,
                6207,
                5915,
                5395,
                4980,
                4709,
                4502,
                4302,
                3938,
                3662,
                3502,
                3255,
                2890,
                2511,
                1670,
                989,
                0.0
            };
            G_500 = new double[23]
            {
                9226,
                7886,
                7222,
                6839,
                6746,
                6655,
                6577,
                6460,
                6113,
                5594,
                5196,
                4866,
                4637,
                4339,
                4140,
                3882,
                3686,
                3517,
                3085,
                2490,
                1880,
                1104,
                0.0
            };
            G_750 = new double[23]
            {
                10677,
                9042,
                7794,
                7085,
                6908,
                6789,
                6666,
                6491,
                6126,
                5749,
                5213,
                4906,
                4675,
                4350,
                4160,
                3851,
                3574,
                3330,
                2760,
                2380,
                1519,
                814,
                0.0
            };
            G_1000 = new double[23]
            {
                12213,
                10204,
                8466,
                7447,
                7095,
                6989,
                6834,
                6568,
                6028,
                5726,
                5182,
                4796,
                4545,
                4194,
                3883,
                3496,
                3281,
                2974,
                2476,
                1683,
                690,
                379,
                0.0
            };
            G_1500 = new double[23]
            {
                14030,
                11668,
                9617,
                8115,
                7597,
                7296,
                7024,
                6470,
                5710,
                5375,
                4875,
                4438,
                4167,
                3795,
                3357,
                2941,
                2531,
                2290,
                914,
                592,
                393,
                200,
                0.0
            };
            G_2000 = new double[23]
            {
                15633,
                12936,
                10401,
                8530,
                7889,
                7408,
                6946,
                6107,
                5170,
                4836,
                4340,
                3913,
                3599,
                3257,
                2909,
                2412,
                1979,
                1182,
                638,
                354,
                188,
                130,
                0.0
            };
            G_2500 = new double[23]
            {
                17335,
                14268,
                11308,
                8887,
                7972,
                7432,
                6712,
                5661,
                4880,
                4445,
                4017,
                3662,
                3295,
                2876,
                2689,
                1915,
                955,
                651,
                447,
                195,
                99,
                51,
                0.0
            };
            G_3000 = new double[23]
            {
                18794,
                15433,
                12150,
                9231,
                8180,
                7463,
                6490,
                5427,
                4718,
                4265,
                3857,
                3476,
                3104,
                2578,
                2283,
                1429,
                708,
                533,
                405,
                179,
                73,
                41,
                0.0
            };
            G_3500 = new double[23]
            {
                19936,
                16374,
                12894,
                9768,
                8306,
                7477,
                6368,
                5026,
                4484,
                3984,
                3644,
                3312,
                2932,
                2394,
                1781,
                1164,
                910,
                706,
                513,
                290,
                103,
                42,
                0.0
            };
            G_4000 = new double[23]
            {
                20949,
                17217,
                13569,
                9991,
                8683,
                7658,
                6295,
                4783,
                4200,
                3584,
                3367,
                3140,
                2745,
                2274,
                1402,
                1188,
                1060,
                922,
                593,
                320,
                111,
                44,
                0.0
            };
            G_4500 = new double[23]
            {
                21962,
                18016,
                14114,
                10137,
                9063,
                7837,
                6323,
                4905,
                4130,
                3522,
                3305,
                3023,
                2672,
                2065,
                1424,
                1245,
                1128,
                1046,
                649,
                346,
                117,
                46,
                0.0
            };
            G_5000 = new double[23]
            {
                22867,
                18766,
                14525,
                10880,
                9540,
                8183,
                6486,
                5030,
                4103,
                3487,
                3287,
                3017,
                2684,
                2024,
                1455,
                1329,
                1224,
                1112,
                695,
                362,
                124,
                51,
                0.0
            };
            G_5500 = new double[23]
            {
                23661,
                19456,
                15309,
                11569,
                10048,
                8548,
                6741,
                5245,
                4051,
                3480,
                3299,
                3060,
                2672,
                2047,
                1628,
                1480,
                1351,
                1176,
                743,
                379,
                135,
                57,
                0.0
            };
            G_6000 = new double[23]
            {
                24391,
                20103,
                15958,
                12239,
                10650,
                8921,
                7328,
                5430,
                4008,
                3507,
                3314,
                3079,
                2696,
                2057,
                1747,
                1598,
                1449,
                1240,
                793,
                405,
                152,
                67,
                0.0
            };
            G_6500 = new double[23]
            {
                25098,
                20718,
                16511,
                12734,
                10892,
                9511,
                7643,
                5637,
                4183,
                3523,
                3357,
                3128,
                2771,
                2258,
                1947,
                1783,
                1549,
                1314,
                855,
                437,
                172,
                78,
                0.0
            };
            G_7000 = new double[23]
            {
                25860,
                21312,
                16907,
                13189,
                11608,
                9908,
                7949,
                5781,
                4373,
                3553,
                3386,
                3182,
                2857,
                2430,
                2136,
                1893,
                1639,
                1396,
                926,
                482,
                197,
                91,
                0.0
            };
            G_7500 = new double[23]
            {
                26597,
                21982,
                17360,
                13563,
                11914,
                10298,
                8281,
                6006,
                4572,
                3786,
                3444,
                3201,
                2944,
                2603,
                2250,
                1988,
                1716,
                1466,
                990,
                512,
                211,
                98,
                0.0
            };
            G_8000 = new double[23]
            {
                27254,
                22428,
                17865,
                13912,
                12316,
                10851,
                8676,
                6217,
                4805,
                4010,
                3629,
                3362,
                3178,
                2817,
                2409,
                2068,
                1783,
                1533,
                1052,
                543,
                225,
                105,
                0.0
            };
            Matrix<double> p_5000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );
            //p = 7000.0
            G_0 = new double[23]
            {
                5445,
                5059,
                4676,
                4323,
                4139,
                3937,
                3677,
                3322,
                2696,
                2256,
                1848,
                1479,
                1243,
                1036,
                891,
                778,
                692,
                621,
                525,
                389,
                267,
                209,
                0.0
            };
            G_50 = new double[23]
            {
                5919,
                5536,
                5191,
                4863,
                4698,
                4520,
                4306,
                3998,
                3399,
                2986,
                2624,
                2264,
                2042,
                1859,
                1712,
                1588,
                1477,
                1366,
                1151,
                1010,
                473,
                325,
                0.0
            };
            G_100 = new double[23]
            {
                6912,
                6301,
                5871,
                5584,
                5462,
                5261,
                5095,
                4849,
                4271,
                3776,
                3499,
                3290,
                3142,
                3034,
                2906,
                2850,
                2651,
                2486,
                2123,
                1673,
                1205,
                768,
                0.0
            };
            G_300 = new double[23]
            {
                7445,
                6709,
                6259,
                6020,
                5914,
                5761,
                5662,
                5495,
                5182,
                4752,
                4464,
                4070,
                3764,
                3611,
                3417,
                3250,
                3028,
                2738,
                2286,
                1994,
                1408,
                869,
                0.0
            };
            G_500 = new double[23]
            {
                7842,
                6895,
                6435,
                6188,
                5996,
                5931,
                5818,
                5672,
                5408,
                4922,
                4521,
                4196,
                3989,
                3812,
                3602,
                3459,
                3221,
                2905,
                2482,
                1985,
                1547,
                869,
                0.0
            };
            G_750 = new double[23]
            {
                9129,
                7841,
                6867,
                6263,
                6154,
                5998,
                5895,
                5776,
                5430,
                4987,
                4538,
                4131,
                3918,
                3709,
                3464,
                3327,
                3118,
                2770,
                2312,
                1904,
                1400,
                742,
                0.0
            };
            G_1000 = new double[23]
            {
                10186,
                8774,
                7390,
                6532,
                6313,
                6276,
                6162,
                5864,
                5366,
                4920,
                4399,
                3935,
                3723,
                3447,
                3112,
                2884,
                2713,
                2432,
                2085,
                767,
                506,
                341,
                0.0
            };
            G_1500 = new double[23]
            {
                11920,
                10072,
                8460,
                7262,
                6915,
                6647,
                6308,
                5729,
                5059,
                4561,
                4039,
                3612,
                3279,
                2991,
                2698,
                2490,
                2264,
                1591,
                599,
                372,
                318,
                191,
                0.0
            };
            G_2000 = new double[23]
            {
                13294,
                11209,
                9172,
                7557,
                7279,
                6769,
                6187,
                5327,
                4570,
                4020,
                3552,
                3174,
                2864,
                2566,
                2353,
                1919,
                1406,
                793,
                483,
                267,
                197,
                134,
                0.0
            };
            G_2500 = new double[23]
            {
                14680,
                12245,
                9774,
                7920,
                7382,
                6765,
                5895,
                4977,
                4178,
                3639,
                3207,
                2867,
                2552,
                2211,
                1941,
                1487,
                813,
                521,
                342,
                177,
                103,
                58,
                0.0
            };
            G_3000 = new double[23]
            {
                15871,
                13214,
                10463,
                8259,
                7522,
                6778,
                5785,
                4761,
                3971,
                3366,
                3014,
                2640,
                2333,
                2111,
                1685,
                951,
                493,
                429,
                307,
                157,
                77,
                43,
                0.0,
            };
            G_3500 = new double[23]
            {
                16889,
                14072,
                11223,
                8783,
                7744,
                6972,
                5738,
                4518,
                3739,
                3127,
                2816,
                2482,
                2188,
                1798,
                1357,
                851,
                631,
                531,
                388,
                224,
                96,
                44,
                0.0
            };
            G_4000 = new double[23]
            {
                17783,
                14824,
                11868,
                9277,
                8077,
                7118,
                5593,
                4226,
                3539,
                2855,
                2616,
                2362,
                2104,
                1710,
                1251,
                957,
                789,
                681,
                444,
                255,
                99,
                44,
                0.0
            };
            G_4500 = new double[23]
            {
                18619,
                15498,
                12439,
                9619,
                8281,
                7208,
                5381,
                4156,
                3422,
                2650,
                2472,
                2268,
                2057,
                1647,
                1239,
                1006,
                867,
                779,
                487,
                266,
                102,
                45,
                0.0
            };
            G_5000 = new double[23]
            {
                19434,
                16132,
                12870,
                10084,
                8686,
                7415,
                5486,
                4350,
                3409,
                2611,
                2486,
                2251,
                2040,
                1619,
                1279,
                1052,
                950,
                854,
                526,
                277,
                106,
                47,
                0.0
            };
            G_5500 = new double[23]
            {
                20138,
                16733,
                13579,
                10563,
                9272,
                7844,
                6153,
                4649,
                3405,
                2688,
                2460,
                2325,
                2076,
                1662,
                1397,
                1217,
                1065,
                933,
                576,
                298,
                115,
                52,
                0.0
            };
            G_6000 = new double[23]
            {
                20703,
                17309,
                14047,
                11354,
                9947,
                8657,
                6697,
                4756,
                3417,
                2725,
                2487,
                2353,
                2087,
                1697,
                1476,
                1339,
                1184,
                1018,
                637,
                327,
                131,
                60,
                0.0
            };
            G_6500 = new double[23]
            {
                21284,
                17855,
                14610,
                11951,
                10355,
                9156,
                7135,
                4905,
                3437,
                2733,
                2525,
                2442,
                2241,
                1938,
                1688,
                1515,
                1303,
                1103,
                702,
                360,
                149,
                69,
                0.0
            };
            G_7000 = new double[23]
            {
                21889,
                18357,
                15013,
                12260,
                10817,
                9456,
                7309,
                4949,
                3504,
                2872,
                2648,
                2499,
                2348,
                2094,
                1852,
                1615,
                1393,
                1182,
                771,
                401,
                170,
                80,
                0.0
            };
            G_7500 = new double[23]
            {
                22505,
                18841,
                15385,
                12539,
                11244,
                9779,
                7455,
                5004,
                3629,
                3017,
                2792,
                2596,
                2488,
                2263,
                2039,
                1776,
                1504,
                1264,
                838,
                433,
                182,
                86,
                0.0
            };
            G_8000 = new double[23]
            {
                23064,
                19305,
                15794,
                12917,
                11519,
                10059,
                7792,
                5163,
                3777,
                3222,
                3120,
                3063,
                2927,
                2605,
                2282,
                1893,
                1592,
                1345,
                904,
                463,
                193,
                91,
                0.0
            };
            Matrix<double> p_7000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 10000.0
            G_0 = new double[23]
            {
                4624,
                4375,
                4128,
                3896,
                3774,
                3627,
                3426,
                3122,
                2501,
                2018,
                1664,
                1365,
                1208,
                1041,
                910,
                809,
                734,
                677,
                582,
                404,
                244,
                205,
                0.0
            };
            G_50 = new double[23]
            {
                5040,
                4787,
                4542,
                4302,
                4182,
                4042,
                3857,
                3586,
                2977,
                2514,
                2217,
                1984,
                1824,
                1678,
                1583,
                1501,
                1402,
                1250,
                1018,
                758,
                386,
                281,
                0.0
            };
            G_100 = new double[23]
            {
                5711,
                5424,
                5083,
                4812,
                4696,
                4507,
                4371,
                4158,
                3699,
                3259,
                2970,
                2830,
                2654,
                2505,
                2354,
                2059,
                1840,
                1620,
                1293,
                999,
                668,
                467,
                0.0
            };
            G_300 = new double[23]
            {
                6240,
                5751,
                5329,
                5036,
                4934,
                4777,
                4690,
                4523,
                4197,
                3777,
                3361,
                3136,
                2994,
                2803,
                2635,
                2398,
                2250,
                1922,
                1707,
                1267,
                915,
                505,
                0.0
            };
            G_500 = new double[23]
            {
                6422,
                5774,
                5441,
                5059,
                4945,
                4837,
                4744,
                4583,
                4328,
                3920,
                3461,
                3206,
                3005,
                2804,
                2640,
                2386,
                2147,
                1830,
                1528,
                1203,
                806,
                431,
                0.0
            };
            G_750 = new double[23]
            {
                7259,
                6426,
                5740,
                5233,
                5035,
                4842,
                4761,
                4501,
                4263,
                3879,
                3404,
                3093,
                2879,
                2640,
                2443,
                2071,
                1760,
                1455,
                1080,
                713,
                347,
                238,
                0.0
            };
            G_1000 = new double[23]
            {
                8156,
                7090,
                6125,
                5478,
                5179,
                4985,
                4762,
                4439,
                4149,
                3793,
                3295,
                2886,
                2595,
                2280,
                1986,
                1783,
                1465,
                1183,
                356,
                156,
                108,
                105,
                0.0
            };
            G_1500 = new double[23]
            {
                9449,
                8185,
                7053,
                6227,
                5689,
                5217,
                4781,
                4311,
                3892,
                3446,
                2977,
                2526,
                2095,
                1865,
                1547,
                1203,
                378,
                295,
                176,
                79,
                59,
                51,
                0.0
            };
            G_2000 = new double[23]
            {
                10490,
                8949,
                7655,
                6479,
                5965,
                5398,
                4762,
                4131,
                3467,
                2960,
                2452,
                2020,
                1708,
                1391,
                1054,
                393,
                247,
                183,
                125,
                65,
                50,
                46,
                0.0
            };
            G_2500 = new double[23]
            {
                11536,
                9833,
                8292,
                6889,
                6216,
                5619,
                4784,
                4013,
                3282,
                2691,
                2188,
                1776,
                1469,
                1177,
                738,
                342,
                288,
                182,
                140,
                80,
                54,
                39,
                0.0
            };
            G_3000 = new double[23]
            {
                12449,
                10561,
                8790,
                7196,
                6491,
                5789,
                4822,
                3893,
                3116,
                2432,
                1939,
                1580,
                1354,
                998,
                675,
                396,
                337,
                232,
                176,
                98,
                50,
                32,
                0.0
            };
            G_3500 = new double[23]
            {
                13181,
                11191,
                9261,
                7712,
                6887,
                6007,
                4842,
                3862,
                2998,
                2277,
                1809,
                1526,
                1314,
                1076,
                775,
                528,
                406,
                365,
                254,
                131,
                75,
                38,
                0.0
            };
            G_4000 = new double[23]
            {
                13882,
                11788,
                9761,
                8080,
                7079,
                6163,
                4875,
                3813,
                2936,
                2079,
                1704,
                1521,
                1251,
                1153,
                881,
                694,
                525,
                445,
                299,
                153,
                76,
                39,
                0.0
            };
            G_4500 = new double[23]
            {
                14555,
                12363,
                10227,
                8450,
                7344,
                6374,
                4885,
                3798,
                2877,
                2027,
                1709,
                1562,
                1331,
                1279,
                1048,
                763,
                611,
                513,
                342,
                174,
                81,
                40,
                0.0
            };
            G_5000 = new double[23]
            {
                15087,
                12776,
                10637,
                8882,
                7723,
                6804,
                4955,
                3928,
                2889,
                2082,
                1715,
                1608,
                1460,
                1314,
                1073,
                832,
                683,
                575,
                395,
                200,
                87,
                42,
                0.0
            };
            G_5500 = new double[23]
            {
                15617,
                13257,
                11054,
                9422,
                8279,
                7203,
                5517,
                4119,
                2942,
                2106,
                1824,
                1763,
                1638,
                1478,
                1261,
                964,
                822,
                681,
                453,
                231,
                96,
                45,
                0.0
            };
            G_6000 = new double[23]
            {
                16191,
                13799,
                11553,
                9797,
                8723,
                7611,
                5821,
                4226,
                3014,
                2189,
                1975,
                1867,
                1723,
                1539,
                1323,
                1109,
                963,
                816,
                526,
                267,
                111,
                52,
                0.0
            };
            G_6500 = new double[23]
            {
                16692,
                14162,
                11890,
                10082,
                9097,
                7925,
                5990,
                4326,
                3023,
                2297,
                2073,
                2020,
                1843,
                1697,
                1500,
                1314,
                1098,
                923,
                595,
                305,
                129,
                60,
                0.0
            };
            G_7000 = new double[23]
            {
                17149,
                14598,
                12284,
                10292,
                9215,
                8047,
                6128,
                4397,
                3082,
                2339,
                2209,
                2103,
                2006,
                1850,
                1618,
                1394,
                1179,
                1004,
                658,
                343,
                147,
                70,
                0.0
            };
            G_7500 = new double[23]
            {
                17628,
                15027,
                12656,
                10529,
                9450,
                8245,
                6145,
                4440,
                3190,
                2370,
                2320,
                2190,
                2170,
                2000,
                1740,
                1491,
                1270,
                1084,
                719,
                373,
                159,
                75,
                0.0
            };
            G_8000 = new double[23]
            {
                18123,
                15428,
                12988,
                10706,
                9587,
                8466,
                6263,
                4626,
                3587,
                3056,
                2981,
                2800,
                2700,
                2347,
                2006,
                1665,
                1403,
                1174,
                781,
                402,
                170,
                80,
                0.0
            };
            Matrix<double> p_10000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 12000.0
            G_0 = new double[23]
            {
                4070,
                3883,
                3698,
                3525,
                3433,
                3322,
                3163,
                2914,
                2391,
                1936,
                1606,
                1334,
                1173,
                1026,
                909,
                814,
                745,
                694,
                588,
                397,
                225,
                141,
                0.0
            };
            G_50 = new double[23]
            {
                4436,
                4247,
                4061,
                3869,
                3770,
                3658,
                3506,
                3285,
                2784,
                2367,
                2081,
                1857,
                1694,
                1565,
                1498,
                1357,
                1200,
                1087,
                867,
                667,
                381,
                242,
                0.0
            };
            G_100 = new double[23]
            {
                5023,
                4806,
                4538,
                4290,
                4171,
                3983,
                3844,
                3645,
                3267,
                2878,
                2711,
                2500,
                2257,
                2069,
                1905,
                1622,
                1460,
                1290,
                977,
                772,
                446,
                301,
                0.0
            };
            G_300 = new double[23]
            {
                5366,
                5081,
                4741,
                4434,
                4269,
                4138,
                3950,
                3838,
                3516,
                3199,
                2912,
                2701,
                2467,
                2285,
                2108,
                1940,
                1830,
                1630,
                1250,
                840,
                500,
                316,
                0.0
            };
            G_500 = new double[23]
            {
                5647,
                5188,
                4869,
                4445,
                4298,
                4131,
                3988,
                3819,
                3555,
                3240,
                2951,
                2724,
                2500,
                2310,
                2160,
                1875,
                1678,
                1474,
                1011,
                423,
                296,
                205,
                0.0
            };
            G_750 = new double[23]
            {
                6233,
                5596,
                5072,
                4528,
                4310,
                4067,
                3904,
                3659,
                3418,
                3067,
                2773,
                2526,
                2277,
                2039,
                1798,
                1396,
                1180,
                989,
                312,
                251,
                211,
                131,
                0.0
            };
            G_1000 = new double[23]
            {
                7031,
                6267,
                5500,
                4700,
                4430,
                4100,
                3855,
                3447,
                3243,
                2878,
                2516,
                2291,
                1905,
                1640,
                1420,
                1073,
                920,
                310,
                214,
                118,
                78,
                76,
                0.0
            };
            G_1500 = new double[23]
            {
                8214,
                7105,
                6221,
                5242,
                4662,
                4271,
                3813,
                3405,
                2952,
                2526,
                2112,
                1723,
                1389,
                1096,
                918,
                377,
                315,
                205,
                105,
                41,
                39,
                36,
                0.0
            };
            G_2000 = new double[23]
            {
                8959,
                7711,
                6598,
                5472,
                4982,
                4417,
                3841,
                3375,
                2830,
                2300,
                1816,
                1410,
                1109,
                911,
                385,
                119,
                110,
                77,
                71,
                50,
                37,
                31,
                0.0
            };
            G_2500 = new double[23]
            {
                9851,
                8471,
                7225,
                5977,
                5407,
                4720,
                3900,
                3367,
                2739,
                2119,
                1603,
                1215,
                971,
                753,
                293,
                172,
                139,
                119,
                99,
                59,
                40,
                27,
                0.0
            };
            G_3000 = new double[23]
            {
                10436,
                9128,
                7655,
                6409,
                5706,
                4923,
                3949,
                3364,
                2690,
                1985,
                1492,
                1101,
                889,
                689,
                354,
                300,
                245,
                195,
                154,
                81,
                45,
                26,
                0.0
            };
            G_3500 = new double[23]
            {
                11000,
                9572,
                7966,
                6675,
                5958,
                5076,
                4002,
                3360,
                2680,
                1910,
                1409,
                1138,
                922,
                772,
                414,
                404,
                329,
                294,
                221,
                109,
                66,
                35,
                0.0
            };
            G_4000 = new double[23]
            {
                11291,
                9879,
                8449,
                7028,
                6239,
                5226,
                4061,
                3326,
                2680,
                1904,
                1456,
                1244,
                1077,
                923,
                693,
                586,
                454,
                361,
                251,
                131,
                70,
                36,
                0.0
            };
            G_4500 = new double[23]
            {
                11695,
                10442,
                8797,
                7329,
                6398,
                5397,
                4163,
                3353,
                2698,
                1927,
                1529,
                1383,
                1174,
                1097,
                862,
                685,
                539,
                418,
                294,
                154,
                75,
                38,
                0.0
            };
            G_5000 = new double[23]
            {
                12117,
                10856,
                9117,
                7579,
                6726,
                5903,
                4418,
                3478,
                2772,
                2010,
                1637,
                1431,
                1254,
                1154,
                921,
                726,
                573,
                465,
                341,
                183,
                82,
                40,
                0.0
            };
            G_5500 = new double[23]
            {
                12466,
                11071,
                9431,
                7831,
                7005,
                6089,
                4517,
                3728,
                2908,
                2140,
                1867,
                1621,
                1469,
                1345,
                1105,
                909,
                704,
                564,
                401,
                214,
                91,
                43,
                0.0
            };
            G_6000 = new double[23]
            {
                13176,
                11559,
                9782,
                8050,
                7166,
                6225,
                4603,
                3885,
                3060,
                2229,
                1986,
                1781,
                1627,
                1472,
                1254,
                1065,
                868,
                721,
                483,
                252,
                105,
                49,
                0.0
            };
            G_6500 = new double[23]
            {
                14034,
                12051,
                10061,
                8249,
                7390,
                6426,
                4668,
                3941,
                3128,
                2355,
                2150,
                1949,
                1811,
                1623,
                1447,
                1220,
                1023,
                852,
                558,
                290,
                122,
                57,
                0.0
            };
            G_7000 = new double[23]
            {
                14607,
                12508,
                10487,
                8532,
                7609,
                6605,
                4731,
                4011,
                3192,
                2432,
                2217,
                2093,
                1955,
                1730,
                1554,
                1342,
                1126,
                945,
                622,
                326,
                140,
                66,
                0.0
            };
            G_7500 = new double[23]
            {
                14975,
                12908,
                10907,
                8703,
                7863,
                6710,
                4821,
                4080,
                3250,
                2490,
                2284,
                2170,
                2077,
                1921,
                1676,
                1441,
                1227,
                1034,
                683,
                355,
                152,
                72,
                0.0
            };
            G_8000 = new double[23]
            {
                15432,
                13298,
                11407,
                8898,
                8033,
                6904,
                4932,
                4219,
                3398,
                2827,
                2737,
                2527,
                2420,
                2168,
                1912,
                1606,
                1370,
                1142,
                749,
                384,
                162,
                76,
                0.0
            };
            Matrix<double> p_12000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 14000.0
            G_0 = new double[23]
            {
                3505,
                3372,
                3240,
                3113,
                3046,
                2965,
                2846,
                2654,
                2242,
                1848,
                1544,
                1296,
                1129,
                992,
                884,
                799,
                736,
                691,
                585,
                384,
                202,
                113,
                0.0
            };
            G_50 = new double[23]
            {
                3808,
                3676,
                3552,
                3413,
                3338,
                3250,
                3129,
                2951,
                2557,
                2195,
                1919,
                1710,
                1527,
                1363,
                1230,
                1114,
                1035,
                930,
                790,
                565,
                310,
                185,
                0.0
            };
            G_100 = new double[23]
            {
                4244,
                4060,
                3897,
                3721,
                3617,
                3500,
                3371,
                3206,
                2909,
                2586,
                2280,
                1961,
                1791,
                1575,
                1469,
                1262,
                1193,
                1023,
                811,
                595,
                342,
                204,
                0.0
            };
            G_300 = new double[23]
            {
                4479,
                4268,
                4074,
                3858,
                3727,
                3586,
                3448,
                3301,
                2996,
                2701,
                2358,
                2100,
                1970,
                1756,
                1651,
                1481,
                1308,
                1143,
                842,
                615,
                347,
                217,
                0.0
            };
            G_500 = new double[23]
            {
                4680,
                4404,
                4184,
                3876,
                3713,
                3545,
                3401,
                3249,
                3001,
                2641,
                2373,
                2089,
                1825,
                1559,
                1422,
                1273,
                1087,
                1017,
                319,
                298,
                192,
                119,
                0.0
            };
            G_750 = new double[23]
            {
                5155,
                4929,
                4487,
                3917,
                3666,
                3417,
                3241,
                3056,
                2841,
                2505,
                2177,
                1849,
                1591,
                1332,
                1131,
                885,
                769,
                502,
                265,
                135,
                79,
                77,
                0.0
            };
            G_1000 = new double[23]
            {
                6001,
                5588,
                4980,
                4089,
                3670,
                3378,
                3049,
                2693,
                2399,
                2051,
                1731,
                1466,
                1244,
                1017,
                854,
                745,
                649,
                295,
                224,
                102,
                67,
                49,
                0.0
            };
            G_1500 = new double[23]
            {
                6787,
                6145,
                5185,
                4364,
                3798,
                3406,
                3003,
                2583,
                2218,
                1807,
                1498,
                1200,
                971,
                765,
                555,
                196,
                180,
                138,
                119,
                53,
                43,
                34,
                0.0
            };
            G_2000 = new double[23]
            {
                7188,
                6465,
                5394,
                4496,
                3995,
                3628,
                3201,
                2686,
                2221,
                1751,
                1444,
                1121,
                879,
                603,
                419,
                176,
                125,
                108,
                93,
                58,
                41,
                26,
                0.0
            };
            G_2500 = new double[23]
            {
                7630,
                6781,
                5886,
                4902,
                4465,
                4006,
                3295,
                2832,
                2224,
                1773,
                1391,
                1024,
                831,
                564,
                312,
                213,
                139,
                119,
                102,
                62,
                42,
                27,
                0.0
            };
            G_3000 = new double[23]
            {
                7824,
                7031,
                6139,
                5394,
                4701,
                4236,
                3320,
                2894,
                2333,
                1831,
                1396,
                1082,
                865,
                604,
                318,
                275,
                237,
                201,
                146,
                80,
                47,
                31,
                0.0
            };
            G_3500 = new double[23]
            {
                8111,
                7338,
                6268,
                5532,
                4884,
                4356,
                3417,
                2963,
                2433,
                1897,
                1444,
                1140,
                927,
                710,
                491,
                420,
                340,
                281,
                200,
                108,
                61,
                32,
                0.0
            };
            G_4000 = new double[23]
            {
                8329,
                7457,
                6488,
                5706,
                5185,
                4498,
                3518,
                2992,
                2511,
                2029,
                1603,
                1307,
                1103,
                854,
                722,
                590,
                467,
                365,
                245,
                125,
                65,
                33,
                0.0
            };
            G_4500 = new double[23]
            {
                8718,
                7543,
                6537,
                5730,
                5344,
                4748,
                3789,
                3092,
                2558,
                2105,
                1709,
                1449,
                1207,
                1005,
                835,
                676,
                558,
                421,
                287,
                148,
                70,
                34,
                0.0
            };
            G_5000 = new double[23]
            {
                8978,
                7649,
                6594,
                5732,
                5451,
                4912,
                3963,
                3214,
                2692,
                2161,
                1745,
                1510,
                1280,
                1062,
                916,
                746,
                599,
                465,
                329,
                174,
                76,
                36,
                0.0
            };
            G_5500 = new double[23]
            {
                9249,
                7760,
                6609,
                5753,
                5505,
                4944,
                4043,
                3419,
                3026,
                2433,
                1989,
                1746,
                1475,
                1298,
                1107,
                940,
                746,
                572,
                390,
                206,
                87,
                40,
                0.0
            };
            G_6000 = new double[23]
            {
                9831,
                8166,
                6738,
                5864,
                5509,
                4956,
                4110,
                3463,
                3170,
                2575,
                2209,
                1986,
                1686,
                1420,
                1253,
                1082,
                893,
                709,
                468,
                242,
                101,
                47,
                0.0
            };
            G_6500 = new double[23]
            {
                10687,
                8715,
                6808,
                5894,
                5553,
                4972,
                4129,
                3544,
                3208,
                2617,
                2326,
                2201,
                1908,
                1609,
                1448,
                1241,
                1034,
                834,
                539,
                280,
                118,
                55,
                0.0
            };
            G_7000 = new double[23]
            {
                11414,
                9448,
                7169,
                6008,
                5694,
                4993,
                4140,
                3605,
                3202,
                2682,
                2339,
                2261,
                2018,
                1745,
                1556,
                1343,
                1129,
                924,
                603,
                317,
                136,
                64,
                0.0
            };
            G_7500 = new double[23]
            {
                12199,
                10064,
                7714,
                6137,
                5700,
                5016,
                4159,
                3729,
                3240,
                2689,
                2350,
                2270,
                2120,
                1836,
                1638,
                1433,
                1216,
                1013,
                666,
                347,
                148,
                70,
                0.0
            };
            G_8000 = new double[23]
            {
                12874,
                10581,
                8108,
                6231,
                5878,
                5214,
                4370,
                3809,
                3276,
                2806,
                2508,
                2342,
                2217,
                2033,
                1803,
                1565,
                1338,
                1116,
                733,
                376,
                159,
                75,
                0.0
            };
            Matrix<double> p_14000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 16000.0
            G_0 = new double[23]
            {
                2869,
                2780,
                2691,
                2603,
                2556,
                2500,
                2417,
                2276,
                1978,
                1667,
                1411,
                1199,
                1036,
                903,
                820,
                739,
                668,
                640,
                535,
                317,
                165,
                92,
                0.0
            };
            G_50 = new double[23]
            {
                3101,
                3014,
                2934,
                2837,
                2785,
                2723,
                2645,
                2508,
                2242,
                1962,
                1719,
                1460,
                1271,
                1132,
                982,
                882,
                821,
                750,
                569,
                391,
                219,
                145,
                0.0
            };
            G_100 = new double[23]
            {
                3434,
                3308,
                3154,
                3001,
                2897,
                2804,
                2716,
                2551,
                2331,
                2102,
                1818,
                1590,
                1419,
                1254,
                1153,
                1024,
                951,
                846,
                617,
                418,
                244,
                166,
                0.0
            };
            G_300 = new double[23]
            {
                3612,
                3465,
                3314,
                3127,
                2988,
                2833,
                2733,
                2585,
                2414,
                2206,
                1909,
                1718,
                1562,
                1451,
                1257,
                1129,
                1019,
                859,
                618,
                463,
                259,
                164,
                0.0
            };
            G_500 = new double[23]
            {
                3761,
                3553,
                3386,
                3152,
                2997,
                2819,
                2693,
                2534,
                2417,
                2180,
                1909,
                1595,
                1406,
                1261,
                1052,
                926,
                793,
                598,
                392,
                286,
                127,
                90,
                0.0
            };
            G_750 = new double[23]
            {
                4113,
                3800,
                3588,
                3251,
                3055,
                2798,
                2610,
                2387,
                2251,
                1985,
                1703,
                1280,
                1113,
                978,
                780,
                694,
                578,
                432,
                229,
                150,
                89,
                69,
                0.0
            };
            G_1000 = new double[23]
            {
                4785,
                4471,
                4003,
                3460,
                3102,
                2756,
                2504,
                2201,
                1918,
                1634,
                1353,
                1039,
                952,
                814,
                665,
                530,
                455,
                325,
                192,
                90,
                59,
                45,
                0.0
            };
            G_1500 = new double[23]
            {
                5406,
                4726,
                4165,
                3659,
                3280,
                2939,
                2419,
                2111,
                1888,
                1505,
                1226,
                1005,
                879,
                671,
                522,
                364,
                231,
                168,
                134,
                67,
                46,
                33,
                0.0
            };
            G_2000 = new double[23]
            {
                5808,
                5019,
                4352,
                3777,
                3449,
                3071,
                2740,
                2250,
                1921,
                1623,
                1328,
                1118,
                918,
                715,
                502,
                244,
                203,
                172,
                127,
                84,
                51,
                28,
                0.0
            };
            G_2500 = new double[23]
            {
                6312,
                5514,
                4978,
                4407,
                3973,
                3504,
                2954,
                2494,
                2086,
                1747,
                1450,
                1213,
                1004,
                795,
                531,
                347,
                265,
                211,
                153,
                93,
                52,
                28,
                0.0
            };
            G_3000 = new double[23]
            {
                6858,
                5972,
                5429,
                4894,
                4332,
                3748,
                3146,
                2611,
                2209,
                1857,
                1533,
                1269,
                1101,
                817,
                655,
                481,
                380,
                300,
                216,
                113,
                57,
                29,
                0.0
            };
            G_3500 = new double[23]
            {
                7286,
                6326,
                5695,
                5018,
                4511,
                3907,
                3255,
                2653,
                2311,
                1956,
                1614,
                1345,
                1170,
                831,
                717,
                541,
                435,
                353,
                248,
                123,
                59,
                29,
                0.0
            };
            G_4000 = new double[23]
            {
                7568,
                6686,
                5875,
                5296,
                4700,
                4136,
                3392,
                2756,
                2428,
                2157,
                1828,
                1560,
                1325,
                1030,
                886,
                710,
                607,
                453,
                297,
                138,
                62,
                30,
                0.0
            };
            G_4500 = new double[23]
            {
                8015,
                6902,
                6071,
                5483,
                4889,
                4352,
                3511,
                2876,
                2569,
                2225,
                1960,
                1684,
                1465,
                1164,
                988,
                808,
                674,
                525,
                335,
                155,
                66,
                31,
                0.0
            };
            G_5000 = new double[23]
            {
                8249,
                7179,
                6183,
                5529,
                5058,
                4562,
                3707,
                3017,
                2698,
                2293,
                2024,
                1777,
                1574,
                1220,
                1041,
                890,
                731,
                567,
                377,
                182,
                72,
                33,
                0.0
            };
            G_5500 = new double[23]
            {
                8569,
                7489,
                6212,
                5601,
                5064,
                4609,
                3752,
                3226,
                2913,
                2638,
                2244,
                2036,
                1731,
                1424,
                1265,
                1067,
                870,
                666,
                427,
                207,
                84,
                39,
                0.0
            };
            G_6000 = new double[23]
            {
                9059,
                7714,
                6377,
                5610,
                5103,
                4624,
                3812,
                3382,
                3073,
                2798,
                2412,
                2191,
                1900,
                1600,
                1392,
                1180,
                981,
                764,
                491,
                246,
                99,
                46,
                0.0
            };
            G_6500 = new double[23]
            {
                9480,
                8189,
                6573,
                5714,
                5255,
                4650,
                3828,
                3484,
                3126,
                2883,
                2531,
                2275,
                2016,
                1716,
                1524,
                1290,
                1086,
                854,
                549,
                278,
                116,
                54,
                0.0
            };
            G_7000 = new double[23]
            {
                9832,
                8567,
                6874,
                5878,
                5336,
                4677,
                3850,
                3511,
                3183,
                2888,
                2549,
                2298,
                2068,
                1801,
                1573,
                1376,
                1167,
                933,
                607,
                314,
                135,
                63,
                0.0
            };
            G_7500 = new double[23]
            {
                10170,
                8880,
                7084,
                5947,
                5402,
                4698,
                3872,
                3520,
                3190,
                2890,
                2571,
                2325,
                2104,
                1848,
                1618,
                1440,
                1229,
                1012,
                662,
                344,
                147,
                69,
                0.0
            };
            G_8000 = new double[23]
            {
                10566,
                9241,
                7422,
                6073,
                5475,
                4741,
                3960,
                3663,
                3204,
                2928,
                2610,
                2356,
                2160,
                1938,
                1739,
                1538,
                1321,
                1098,
                722,
                373,
                158,
                74,
                0.0
            };
            Matrix<double> p_16000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 18000.0
            G_0 = new double[23]
            {
                2198,
                2136,
                2076,
                1999,
                1970,
                1955,
                1900,
                1809,
                1617,
                1402,
                1218,
                1063,
                936,
                822,
                732,
                660,
                599,
                569,
                434,
                260,
                138,
                84,
                0.0
            };
            G_50 = new double[23]
            {
                2377,
                2295,
                2209,
                2043,
                2002,
                1960,
                1886,
                1782,
                1647,
                1408,
                1260,
                1138,
                1042,
                922,
                824,
                744,
                684,
                620,
                474,
                310,
                177,
                117,
                0.0
            };
            G_100 = new double[23]
            {
                2416,
                2316,
                2220,
                2084,
                2003,
                1944,
                1847,
                1733,
                1653,
                1405,
                1278,
                1157,
                1065,
                958,
                886,
                784,
                744,
                648,
                521,
                331,
                185,
                132,
                0.0
            };
            G_300 = new double[23]
            {
                2566,
                2353,
                2230,
                2083,
                1952,
                1895,
                1783,
                1646,
                1558,
                1407,
                1285,
                1149,
                1076,
                1009,
                933,
                821,
                775,
                661,
                527,
                322,
                175,
                119,
                0.0
            };
            G_500 = new double[23]
            {
                2609,
                2392,
                2232,
                1998,
                1899,
                1775,
                1655,
                1447,
                1350,
                1196,
                1113,
                1025,
                938,
                826,
                732,
                648,
                579,
                454,
                297,
                214,
                142,
                66,
                0.0
            };
            G_750 = new double[23]
            {
                2878,
                2510,
                2247,
                1993,
                1892,
                1754,
                1607,
                1429,
                1277,
                1153,
                1052,
                903,
                794,
                680,
                578,
                516,
                450,
                334,
                169,
                144,
                90,
                49,
                0.0
            };
            G_1000 = new double[23]
            {
                3081,
                2635,
                2312,
                1971,
                1877,
                1728,
                1574,
                1448,
                1279,
                1145,
                1018,
                870,
                749,
                670,
                550,
                426,
                394,
                260,
                137,
                80,
                56,
                36,
                0.0
            };
            G_1500 = new double[23]
            {
                3760,
                3260,
                2858,
                2479,
                2206,
                2032,
                1847,
                1599,
                1404,
                1231,
                1102,
                903,
                794,
                681,
                524,
                379,
                274,
                215,
                151,
                90,
                53,
                29,
                0.0
            };
            G_2000 = new double[23]
            {
                4277,
                3648,
                3255,
                2811,
                2566,
                2287,
                2119,
                1844,
                1640,
                1469,
                1351,
                1222,
                1093,
                956,
                757,
                420,
                307,
                267,
                162,
                98,
                51,
                25,
                0.0
            };
            G_2500 = new double[23]
            {
                4845,
                4453,
                4036,
                3480,
                3095,
                2681,
                2407,
                2016,
                1838,
                1623,
                1470,
                1319,
                1149,
                1025,
                832,
                523,
                406,
                338,
                226,
                119,
                52,
                25,
                0.0
            };
            G_3000 = new double[23]
            {
                5472,
                4760,
                4329,
                3736,
                3279,
                2831,
                2533,
                2167,
                1945,
                1728,
                1516,
                1352,
                1216,
                1094,
                876,
                629,
                493,
                426,
                287,
                137,
                55,
                25,
                0.0
            };
            G_3500 = new double[23]
            {
                5983,
                5028,
                4457,
                3802,
                3381,
                2894,
                2615,
                2280,
                2042,
                1825,
                1550,
                1453,
                1243,
                1123,
                899,
                743,
                571,
                500,
                384,
                166,
                59,
                26,
                0.0
            };
            G_4000 = new double[23]
            {
                6459,
                5438,
                4798,
                4007,
                3533,
                3059,
                2685,
                2383,
                2241,
                2004,
                1738,
                1639,
                1446,
                1216,
                1029,
                876,
                710,
                621,
                453,
                183,
                61,
                27,
                0.0
            };
            G_4500 = new double[23]
            {
                6562,
                5560,
                4925,
                4189,
                3748,
                3266,
                2801,
                2496,
                2325,
                2136,
                1926,
                1736,
                1565,
                1316,
                1102,
                957,
                751,
                676,
                482,
                195,
                64,
                28,
                0.0
            };
            G_5000 = new double[23]
            {
                6719,
                5688,
                5048,
                4297,
                3973,
                3492,
                2895,
                2606,
                2414,
                2245,
                2083,
                1796,
                1648,
                1388,
                1186,
                1009,
                795,
                720,
                489,
                213,
                72,
                31,
                0.0
            };
            G_5500 = new double[23]
            {
                6820,
                5875,
                5205,
                4521,
                4157,
                3696,
                3053,
                2937,
                2717,
                2510,
                2265,
                2077,
                1861,
                1603,
                1360,
                1192,
                966,
                770,
                539,
                237,
                84,
                37,
                0.0
            };
            G_6000 = new double[23]
            {
                7067,
                6118,
                5412,
                4662,
                4293,
                3757,
                3123,
                3002,
                2856,
                2696,
                2421,
                2216,
                1969,
                1727,
                1465,
                1300,
                1063,
                861,
                585,
                266,
                99,
                44,
                0.0
            };
            G_6500 = new double[23]
            {
                7342,
                6385,
                5570,
                4764,
                4337,
                3813,
                3140,
                3018,
                2907,
                2781,
                2531,
                2305,
                2073,
                1825,
                1560,
                1376,
                1158,
                912,
                611,
                292,
                116,
                53,
                0.0
            };
            G_7000 = new double[23]
            {
                7625,
                6606,
                5716,
                4835,
                4412,
                3893,
                3166,
                3061,
                2921,
                2794,
                2536,
                2308,
                2080,
                1840,
                1594,
                1415,
                1208,
                968,
                640,
                320,
                133,
                62,
                0.0
            };
            G_7500 = new double[23]
            {
                7930,
                6835,
                5901,
                4941,
                4486,
                3929,
                3216,
                3070,
                2954,
                2636,
                2471,
                2326,
                2095,
                1875,
                1609,
                1443,
                1248,
                1022,
                670,
                342,
                143,
                67,
                0.0
            };
            G_8000 = new double[23]
            {
                8158,
                7075,
                6071,
                5107,
                4545,
                4009,
                3308,
                3110,
                2958,
                2771,
                2602,
                2356,
                2130,
                1923,
                1698,
                1501,
                1304,
                1084,
                711,
                364,
                152,
                71,
                0.0
            };
            Matrix<double> p_18000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 20000.0
            G_0 = new double[23]
            {
                1654,
                1497,
                1378,
                1240,
                1185,
                1179,
                1141,
                1092,
                992,
                947,
                900,
                872,
                787,
                719,
                646,
                568,
                493,
                438,
                347,
                213,
                94,
                55,
                0.0
            };
            G_50 = new double[23]
            {
                1692,
                1489,
                1356,
                1213,
                1172,
                1163,
                1123,
                1077,
                1004,
                950,
                898,
                848,
                780,
                715,
                659,
                575,
                528,
                451,
                345,
                230,
                118,
                73,
                0.0
            };
            G_100 = new double[23]
            {
                1706,
                1438,
                1300,
                1188,
                1163,
                1141,
                1114,
                1072,
                1028,
                974,
                914,
                840,
                784,
                709,
                656,
                595,
                540,
                470,
                343,
                234,
                137,
                75,
                0.0
            };
            G_300 = new double[23]
            {
                1739,
                1427,
                1208,
                1130,
                1110,
                1080,
                1070,
                1020,
                990,
                945,
                900,
                830,
                780,
                700,
                640,
                600,
                542,
                468,
                288,
                224,
                131,
                72,
                0.0
            };
            G_500 = new double[23]
            {
                1744,
                1338,
                1183,
                1030,
                975,
                940,
                903,
                879,
                835,
                797,
                761,
                729,
                680,
                624,
                545,
                488,
                438,
                388,
                204,
                153,
                90,
                53,
                0.0
            };
            G_750 = new double[23]
            {
                1796,
                1502,
                1237,
                1106,
                1029,
                968,
                914,
                810,
                766,
                730,
                695,
                637,
                585,
                550,
                502,
                444,
                342,
                292,
                170,
                109,
                75,
                41,
                0.0
            };
            G_1000 = new double[23]
            {
                1882,
                1636,
                1409,
                1200,
                1133,
                1086,
                1026,
                965,
                876,
                817,
                761,
                650,
                607,
                561,
                508,
                419,
                293,
                246,
                126,
                74,
                49,
                27,
                0.0
            };
            G_1500 = new double[23]
            {
                2459,
                2183,
                1889,
                1665,
                1549,
                1428,
                1318,
                1166,
                1045,
                982,
                905,
                835,
                763,
                700,
                620,
                439,
                286,
                224,
                130,
                75,
                42,
                22,
                0.0
            };
            G_2000 = new double[23]
            {
                3017,
                2693,
                2372,
                2088,
                1927,
                1729,
                1584,
                1395,
                1284,
                1221,
                1133,
                1046,
                977,
                872,
                812,
                611,
                423,
                268,
                152,
                89,
                44,
                21,
                0.0
            };
            G_2500 = new double[23]
            {
                3580,
                3154,
                2849,
                2542,
                2239,
                1971,
                1775,
                1612,
                1465,
                1360,
                1230,
                1154,
                1105,
                971,
                853,
                688,
                473,
                377,
                228,
                117,
                46,
                21,
                0.0
            };
            G_3000 = new double[23]
            {
                3946,
                3437,
                3038,
                2636,
                2359,
                2051,
                1906,
                1702,
                1562,
                1423,
                1270,
                1202,
                1157,
                1033,
                915,
                703,
                569,
                450,
                290,
                134,
                50,
                21,
                0.0
            };
            G_3500 = new double[23]
            {
                4162,
                3558,
                3067,
                2640,
                2400,
                2139,
                2011,
                1828,
                1658,
                1510,
                1380,
                1264,
                1190,
                1069,
                961,
                791,
                617,
                536,
                367,
                159,
                54,
                22,
                0.0
            };
            G_4000 = new double[23]
            {
                4261,
                3767,
                3268,
                2802,
                2543,
                2280,
                2138,
                1992,
                1875,
                1702,
                1585,
                1465,
                1341,
                1244,
                1086,
                920,
                741,
                649,
                439,
                178,
                57,
                23,
                0.0
            };
            G_4500 = new double[23]
            {
                4358,
                3923,
                3486,
                2992,
                2700,
                2470,
                2247,
                2101,
                1915,
                1788,
                1674,
                1539,
                1441,
                1344,
                1129,
                992,
                819,
                690,
                457,
                189,
                61,
                24,
                0.0
            };
            G_5000 = new double[23]
            {
                4517,
                4139,
                3648,
                3114,
                2874,
                2595,
                2381,
                2211,
                1995,
                1818,
                1716,
                1631,
                1517,
                1390,
                1167,
                1081,
                829,
                739,
                476,
                208,
                68,
                28,
                0.0
            };
            G_5500 = new double[23]
            {
                4718,
                4385,
                3876,
                3323,
                3012,
                2758,
                2579,
                2409,
                2214,
                2051,
                1957,
                1834,
                1687,
                1561,
                1328,
                1215,
                987,
                799,
                521,
                230,
                79,
                33,
                0.0
            };
            G_6000 = new double[23]
            {
                4922,
                4545,
                3983,
                3420,
                3175,
                2922,
                2691,
                2519,
                2353,
                2183,
                2082,
                1969,
                1796,
                1639,
                1413,
                1311,
                1080,
                884,
                576,
                259,
                94,
                40,
                0.0
            };
            G_6500 = new double[23]
            {
                5124,
                4667,
                4071,
                3515,
                3249,
                3017,
                2812,
                2638,
                2469,
                2247,
                2159,
                2024,
                1893,
                1721,
                1514,
                1362,
                1155,
                939,
                607,
                280,
                109,
                47,
                0.0
            };
            G_7000 = new double[23]
            {
                5323,
                4730,
                4120,
                3536,
                3303,
                3069,
                2878,
                2731,
                2531,
                2333,
                2205,
                2098,
                1934,
                1757,
                1553,
                1404,
                1201,
                986,
                639,
                302,
                123,
                52,
                0.0
            };
            G_7500 = new double[23]
            {
                5538,
                4808,
                4165,
                3580,
                3336,
                3093,
                2892,
                2771,
                2599,
                2396,
                2282,
                2128,
                1964,
                1774,
                1588,
                1436,
                1244,
                1028,
                679,
                322,
                128,
                56,
                0.0
            };
            G_8000 = new double[23]
            {
                5768,
                4925,
                4220,
                3625,
                3375,
                3155,
                2951,
                2843,
                2697,
                2484,
                2345,
                2177,
                2017,
                1850,
                1667,
                1484,
                1289,
                1074,
                699,
                330,
                130,
                57,
                0.0
            };
            Matrix<double> p_20000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            //p = 21000.0
            G_0 = new double[23]
            {
                1584,
                1462,
                1324,
                1222,
                1184,
                1147,
                1084,
                1008,
                939,
                904,
                821,
                733,
                644,
                570,
                501,
                440,
                415,
                366,
                309,
                194,
                84,
                45,
                0.0
            };
            G_50 = new double[23]
            {
                1587,
                1456,
                1301,
                1194,
                1164,
                1119,
                1062,
                999,
                938,
                900,
                823,
                736,
                685,
                650,
                578,
                501,
                457,
                411,
                303,
                197,
                99,
                53,
                0.0
            };
            G_100 = new double[23]
            {
                1589,
                1439,
                1270,
                1177,
                1124,
                1111,
                1060,
                992,
                948,
                894,
                826,
                739,
                697,
                668,
                599,
                527,
                469,
                417,
                300,
                198,
                102,
                55,
                0.0
            };
            G_300 = new double[23]
            {
                1601,
                1314,
                1133,
                1114,
                1102,
                1069,
                1037,
                959,
                925,
                857,
                801,
                730,
                700,
                669,
                600,
                510,
                473,
                399,
                278,
                169,
                97,
                56,
                0.0
            };
            G_500 = new double[23]
            {
                1617,
                1307,
                990,
                981,
                959,
                925,
                878,
                828,
                789,
                727,
                661,
                608,
                587,
                556,
                524,
                459,
                400,
                327,
                180,
                142,
                70,
                50,
                0.0
            };
            G_750 = new double[23]
            {
                1643,
                1411,
                1153,
                1045,
                1007,
                949,
                900,
                799,
                712,
                652,
                616,
                553,
                530,
                515,
                479,
                418,
                324,
                236,
                115,
                97,
                57,
                33,
                0.0,
            };
            G_1000 = new double[23]
            {
                1787,
                1566,
                1328,
                1211,
                1130,
                1045,
                992,
                908,
                807,
                765,
                708,
                628,
                583,
                533,
                470,
                375,
                280,
                209,
                111,
                69,
                42,
                21,
                0.0
            };
            G_1500 = new double[23]
            {
                2261,
                1991,
                1764,
                1570,
                1422,
                1344,
                1228,
                1115,
                998,
                943,
                894,
                800,
                758,
                675,
                545,
                404,
                251,
                209,
                117,
                71,
                36,
                17,
                0.0
            };
            G_2000 = new double[23]
            {
                2689,
                2248,
                1983,
                1711,
                1594,
                1490,
                1395,
                1327,
                1225,
                1193,
                1101,
                971,
                874,
                812,
                741,
                526,
                343,
                230,
                150,
                88,
                35,
                15,
                0.0
            };
            G_2500 = new double[23]
            {
                2997,
                2554,
                2223,
                1903,
                1733,
                1609,
                1519,
                1426,
                1314,
                1260,
                1183,
                1109,
                988,
                900,
                816,
                623,
                445,
                349,
                214,
                102,
                36,
                15,
                0.0
            };
            G_3000 = new double[23]
            {
                3238,
                2847,
                2465,
                2068,
                1880,
                1706,
                1644,
                1547,
                1457,
                1302,
                1193,
                1170,
                1053,
                958,
                884,
                681,
                535,
                425,
                286,
                119,
                39,
                15,
                0.0
            };
            G_3500 = new double[23]
            {
                3393,
                2953,
                2590,
                2193,
                2012,
                1859,
                1772,
                1672,
                1543,
                1397,
                1284,
                1215,
                1130,
                993,
                933,
                773,
                601,
                516,
                343,
                138,
                42,
                16,
                0.0
            };
            G_4000 = new double[23]
            {
                3482,
                3160,
                2776,
                2356,
                2159,
                2004,
                1924,
                1794,
                1654,
                1541,
                1428,
                1347,
                1256,
                1155,
                1027,
                891,
                726,
                627,
                389,
                155,
                45,
                17,
                0.0
            };
            G_4500 = new double[23]
            {
                3532,
                3270,
                2896,
                2517,
                2289,
                2142,
                2028,
                1906,
                1752,
                1624,
                1544,
                1500,
                1348,
                1274,
                1100,
                973,
                809,
                674,
                421,
                167,
                49,
                18,
                0.0
            };
            G_5000 = new double[23]
            {
                3660,
                3436,
                3101,
                2646,
                2456,
                2256,
                2172,
                2016,
                1834,
                1742,
                1660,
                1596,
                1457,
                1350,
                1160,
                1063,
                818,
                711,
                451,
                181,
                54,
                21,
                0.0
            };
            G_5500 = new double[23]
            {
                3803,
                3603,
                3229,
                2831,
                2608,
                2447,
                2288,
                2165,
                1973,
                1880,
                1808,
                1726,
                1603,
                1482,
                1300,
                1184,
                939,
                793,
                492,
                199,
                61,
                24,
                0.0
            };
            G_6000 = new double[23]
            {
                3955,
                3698,
                3320,
                2917,
                2733,
                2544,
                2379,
                2256,
                2073,
                1965,
                1884,
                1823,
                1695,
                1572,
                1379,
                1277,
                1038,
                867,
                544,
                221,
                70,
                28,
                0.0
            };
            G_6500 = new double[23]
            {
                4116,
                3784,
                3378,
                2975,
                2801,
                2599,
                2485,
                2355,
                2203,
                2056,
                1990,
                1903,
                1780,
                1652,
                1478,
                1334,
                1100,
                924,
                579,
                239,
                78,
                32,
                0.0
            };
            G_7000 = new double[23]
            {
                4275,
                3839,
                3393,
                2985,
                2850,
                2658,
                2529,
                2447,
                2294,
                2117,
                2050,
                1971,
                1835,
                1693,
                1523,
                1373,
                1163,
                969,
                601,
                254,
                85,
                35,
                0.0
            };
            G_7500 = new double[23]
            {
                4471,
                3887,
                3394,
                3000,
                2880,
                2700,
                2589,
                2496,
                2361,
                2216,
                2129,
                2033,
                1872,
                1737,
                1566,
                1403,
                1214,
                1003,
                640,
                272,
                91,
                39,
                0.0
            };
            G_8000 = new double[23]
            {
                4689,
                3970,
                3405,
                3030,
                2900,
                2740,
                2598,
                2498,
                2410,
                2287,
                2170,
                2067,
                1902,
                1790,
                1622,
                1439,
                1260,
                1026,
                667,
                290,
                96,
                42,
                0.0
            };
            Matrix<double> p_21000 = Matrix<double>.Build.DenseOfRowArrays(
                G_0,
                G_50,
                G_100,
                G_300,
                G_500,
                G_750,
                G_1000,
                G_1500,
                G_2000,
                G_2500,
                G_3000,
                G_3500,
                G_4000,
                G_4500,
                G_5000,
                G_5500,
                G_6000,
                G_6500,
                G_7000,
                G_7500,
                G_8000
            );

            #endregion






            var PPTEMP = PP * 1000.0; //CONVERT MPA TO KPA

            var GG = GMASS;

            double[] P = new double[15]
            {
                100.0,
                300.0,
                500.0,
                1000.0,
                2000.0,
                3000.0,
                5000.0,
                7000.0,
                10000.0,
                12000.0,
                14000.0,
                16000.0,
                18000.0,
                20000.0,
                21000.0
            };
            double[] G = new double[21]
            {
                0.0,
                50.0,
                100.0,
                300.0,
                500.0,
                750.0,
                1000.0,
                1500.0,
                2000.0,
                2500.0,
                3000.0,
                3500.0,
                4000.0,
                4500.0,
                5000.0,
                5500.0,
                6000.0,
                6500.0,
                7000.0,
                7500.0,
                8000.0
            };
            double[] XE = new double[23]
            {
                -0.50,
                -0.40,
                -0.30,
                -0.20,
                -0.15,
                -0.10,
                -0.05,
                0.00,
                0.05,
                0.10,
                0.15,
                0.20,
                0.25,
                0.30,
                0.35,
                0.40,
                0.45,
                0.50,
                0.60,
                0.70,
                0.80,
                0.90,
                1.00
            };

            int II = 0;
            int JJ = 0;
            int KK = 0;
            //1) FIND THE MATRIX INDEXES FOR INTERPOLATION

            do
            {
                II += 1;
                if (II >= P.Length - 1)
                {
                    II = P.Length - 1;
                }
            } while (PPTEMP > P[II]);
            //PPTEMP WILL BE IN BETWEEN P(II - 1) AND P(II)
            do
            {
                JJ = JJ + 1;
                if (JJ >= G.Length - 1)
                {
                    JJ = G.Length - 1;
                }
            } while (GG > G[JJ]);

            //GG WILL BE IN BETWEEN G(JJ - 1) AND G(JJ)

            do
            {
                KK = KK + 1;
                if (KK >= XE.Length - 1)
                {
                    KK = XE.Length - 1;
                }
            } while (XX > XE[KK]);

            //Debug.WriteLine("pOs:"+II+JJ+KK);

            var QQ1 =
                (XX - XE[KK - 1])
                    / (XE[KK] - XE[KK - 1])
                    * (QLUT[II - 1, JJ - 1, KK] - QLUT[II - 1, JJ - 1, KK - 1])
                + QLUT[II - 1, JJ - 1, KK - 1];

            var QQ2 =
                (XX - XE[KK - 1])
                    / (XE[KK] - XE[KK - 1])
                    * (QLUT[II - 1, JJ, KK] - QLUT[II - 1, JJ, KK - 1])
                + QLUT[II - 1, JJ, KK - 1];

            var Q1 = (GG - G[JJ - 1]) / (G[JJ] - G[JJ - 1]) * (QQ2 - QQ1) + QQ1;

            QQ1 =
                (XX - XE[KK - 1])
                    / (XE[KK] - XE[KK - 1])
                    * (QLUT[II, JJ - 1, KK] - QLUT[II, JJ - 1, KK - 1])
                + QLUT[II, JJ - 1, KK - 1];

            QQ2 =
                (XX - XE[KK - 1])
                    / (XE[KK] - XE[KK - 1])
                    * (QLUT[II, JJ, KK] - QLUT[II, JJ, KK - 1])
                + QLUT[II, JJ, KK - 1];
            var Q2 = (GG - G[JJ - 1]) / (G[JJ] - G[JJ - 1]) * (QQ2 - QQ1) + QQ1;

            var QCHF = (PPTEMP - P[II - 1]) / (P[II] - P[II - 1]) * (Q2 - Q1) + Q1;

            QCHF = QCHF * 1000; //KW / M2--->W / M2

            QCHF = QCHF * Math.Pow((DE / 0.008), -0.5); //DIAMETER EFFECT VERIFICATION.

            //0.008 IS THE COMMON DIAMETER USED IN THE GROENEVELD'S LOOK-UP TABLE(2006), NAMELY, D_TABLE=0.008 M.
            return QCHF;
        }

        //int i,j;
        //double P, G, x;
        //double[] Tabulated_Pressures = new double[14];
        //double[] Tabulated_MassFlux = new double[20];
        //double[] Tabulated_Quality = new double[22];

        //double[] Reverse_Tabulated_Pressures = new double[14];
        //double[] Reverse_Tabulated_MassFlux = new double[20];
        //double[] Reverse_Tabulated_Quality = new double[22];



        //        int iPMatch, iPLow, iPHigh;
        //        int iGMatch, iGLow, iGHigh;



        //        int ixMatch, ixLow, ixHigh;
        //        int plength, glength, xlength;
        //        int x_column, P_row;

        //        double[,] xgp = new double[3,1];

        //        double pinterp;
        //        double _CHF;
        //        double[,] interpColors= new double[3, 1];

        //        int Red, Blue, Green, White;
        //        double[] ICU = new double[7];

        //string ThreatLevel;



        public static object CHF_Lin_Terp(double P, double G, double x)
        {
            StringBuilder sb = new StringBuilder();

            //string msg;
            if (P < 0.1 || P > 21)
            {
                sb.AppendLine(
                    "Input Pressure is outside of table range. Please enter a value 0.1 <= P <= 21 MPa"
                );

                return sb.ToString();
            }
            else if (G < 0 || G > 8000)
            {
                sb.AppendLine(
                    "Input mass flux is outside of table range. Please enter a value 0 <= G <= 8000 kg/m^2-s"
                );

                return sb.ToString();
            }
            else if (x < -0.5 || x > 1)
            {
                sb.AppendLine(
                    "Input quality is outside of table range. Please enter a value -0.5 <= x <= 1.0"
                );

                return sb.ToString();
            }

            //==========================================================================
            //The following program takes user input from excel worksheet and then finds and linearly interpolates between the appropriate values.
            //'The output CHF value is then placed on the sheet below the input with a color coding associtated to the color scheme of the Legend
            //'as defined in the Groeneveld LUT.

            //'A table of the values used in interpolation is provided to get a visual check of what the values the program uses

            //'Much optimazation of the program could be done via condensing repeated ideas into loops but the author did not deem it necessary as
            //'computational time and storage is not an issue in this program.

            //'If desired add buttons/options for unit control

            //'Author: M. Scott Greenwood
            //'Date: November 16, 2012
            //'==========================================================================
            //'Find all input variables from worksheet
            //P = Sheet1.Range("P4").Value 'Select user inputed pressure [MPa] - between 0.1 and 21
            //G = Sheet1.Range("P5").Value 'Select user inputed mass flux [kg/m^2-s] - between 0 and 8000
            //x  =Sheet1.Range("P6").Value 'Select user inputed quality [unitless] - between -0.5 and 1.0
            //



            //int plength = 14;// Length of pressure entries
            //int glength = 20;//Length of flux entries

            //int xlength = 22;//Length of quality entries



            var Tabulated_Pressures = new double[]
            {
                0.1,
                0.3,
                0.5,
                1.0,
                2.0,
                3.0,
                5.0,
                7.0,
                10,
                12.0,
                14,
                16.0,
                18,
                20.0,
                21.0,
            };
            var Tabulated_MassFlux = new double[]
            {
                0,
                50,
                100,
                300,
                500,
                750,
                1000,
                1500,
                2000,
                2500,
                3000,
                3500,
                4000,
                4500,
                5000,
                5500,
                6000,
                6500,
                7000,
                7500,
                8000
            };
            var Tabulated_Quality = new double[]
            {
                -0.50,
                -0.40,
                -0.30,
                -0.20,
                -0.15,
                -0.10,
                -0.05,
                0.00,
                0.05,
                0.10,
                0.15,
                0.20,
                0.25,
                0.30,
                0.35,
                0.40,
                0.45,
                0.50,
                0.60,
                0.70,
                0.80,
                0.90,
                1.00
            };

            double Plow,
                Phigh,
                Glow,
                Ghigh,
                xlow,
                xhigh;

            var plh = GetLowHigh(P, Tabulated_Pressures);
            Plow = plh.low_value;
            Phigh = plh.high_value;

            var glh = GetLowHigh(G, Tabulated_MassFlux);
            Glow = glh.low_value;
            Ghigh = glh.high_value;

            var xlh = GetLowHigh(x, Tabulated_Quality);
            xlow = xlh.low_value;
            xhigh = xlh.high_value;

            //double highCHf,lowCHf;

            //lowCHf = QLUT[plh.low_index,glh.low_index,xlh.low_index];
            //highCHf = QLUT[plh.high_index, glh.high_index, xlh.high_index];

            //Finds the CHF value at the low pressure, low quality, and low mass flux and returns the value and cell color

            //QLUT p g x

            //double lll = QLUT[plh.low_index, xlh.low_index, glh.low_index];
            ////Finds the CHF value at the low pressure, low quality, and high mass flux and returns the value and cell color
            //double llh = QLUT[plh.low_index, xlh.low_index, glh.high_index];
            ////Finds the CHF value at the low pressure, high quality, and low mass flux and returns the value and cell color
            //double lhl = QLUT[plh.low_index, xlh.high_index, glh.low_index];
            ////Finds the CHF value at the low pressure, high quality, and high mass flux and returns the value and cell color
            //double lhh = QLUT[plh.low_index, xlh.high_index, glh.high_index];
            ////Finds the CHF value at the high pressure, low quality, and low mass flux and returns the value and cell color
            //double hll = QLUT[plh.high_index, xlh.low_index, glh.low_index];
            ////Finds the CHF value at the high pressure, low quality, and high mass flux and returns the value and cell color
            //double hlh = QLUT[plh.high_index, xlh.low_index, glh.high_index];
            ////Finds the CHF value at the high pressure, high quality, and low mass flux and returns the value and cell color
            //double hhl = QLUT[plh.high_index, xlh.high_index, glh.low_index];

            //double hhh = QLUT[plh.high_index, xlh.high_index, glh.high_index];



            double lll = QLUT[plh.low_index, glh.low_index, xlh.low_index];
            //Finds the CHF value at the low pressure, low quality, and high mass flux and returns the value and cell color
            double llh = QLUT[plh.low_index, glh.low_index, xlh.high_index];
            //Finds the CHF value at the low pressure, high quality, and low mass flux and returns the value and cell color
            double lhl = QLUT[plh.low_index, glh.high_index, xlh.low_index];
            //Finds the CHF value at the low pressure, high quality, and high mass flux and returns the value and cell color
            double lhh = QLUT[plh.low_index, glh.high_index, xlh.high_index];
            //Finds the CHF value at the high pressure, low quality, and low mass flux and returns the value and cell color
            double hll = QLUT[plh.high_index, glh.low_index, xlh.low_index];
            //Finds the CHF value at the high pressure, low quality, and high mass flux and returns the value and cell color
            double hlh = QLUT[plh.high_index, glh.low_index, xlh.high_index];
            //Finds the CHF value at the high pressure, high quality, and low mass flux and returns the value and cell color
            double hhl = QLUT[plh.high_index, glh.high_index, xlh.low_index];

            double hhh = QLUT[plh.high_index, glh.high_index, xlh.high_index];

            //The following section contains the actual interpolation based on the values obtained from the main Groeneveld table
            //and put into the small interpolation table displayed at the top of the excel worksheet.

            // _xgp(0, 0) = lll//
            //_xgp(0, 1) = llh
            //_xgp(1, 0) = lhl
            //_xgp(1, 1) = lhh
            //_xgp(2, 0) = hll
            //_xgp(2, 1) = hlh
            //_xgp(3, 0) = hhl
            //_xgp(3, 1) = hhh

            //==========================================================================
            //Check for identical search locations which would cause normal interpoltion to divide by zero
            double pinterp;
            double[] xinterp = new double[4];
            double[] ginterp = new double[2];
            if (xhigh == xlow && Ghigh == Glow && Phigh == Plow)
            {
                pinterp = lll;
            }
            else if (xhigh == xlow && Ghigh == Glow)
            {
                pinterp = lll - ((lll - hhl) / (Phigh - Plow) * (P - Plow));
            }
            else if (xhigh == xlow && Phigh == Plow)
            {
                ginterp[0] = lll - ((lll - lhl) / (Ghigh - Glow) * (G - Glow));
                pinterp = ginterp[0];
            }
            else if (Ghigh == Glow && Phigh == Plow)
            {
                xinterp[0] = lll - ((lll - llh) / (xhigh - xlow) * (x - xlow));
                pinterp = xinterp[0];
            }
            else if (xhigh == xlow)
            {
                //Interpolate according to mass flux with new interpolated quality value
                ginterp[0] = lll - ((lll - lhl) / (Ghigh - Glow) * (G - Glow));
                ginterp[1] = hll - ((hll - hhl) / (Ghigh - Glow) * (G - Glow));

                //Interpolate according to pressure with new interpolated mass flux value
                pinterp = ginterp[0] - ((ginterp[0] - ginterp[1]) / (Phigh - Plow) * (P - Plow));
            }
            else if (Ghigh == Glow)
            {
                //Interpolate according to quality
                xinterp[0] = lll - ((lll - llh) / (xhigh - xlow) * (x - xlow));
                xinterp[1] = lhl - ((lhl - lhh) / (xhigh - xlow) * (x - xlow));
                xinterp[2] = hll - ((hll - hlh) / (xhigh - xlow) * (x - xlow));
                xinterp[3] = hhl - ((hhl - hhh) / (xhigh - xlow) * (x - xlow));

                //


                //Interpolate according to pressure with new interpolated mass flux value
                pinterp = xinterp[0] - ((xinterp[0] - xinterp[3]) / (Phigh - Plow) * (P - Plow));

                //pinterp = xinterp(0) - ((xinterp(0) - xinterp(3)) / (Phigh - Plow) * (P - Plow))
            }
            else if (Phigh == Plow)
            {
                //Interpolate according to quality

                xinterp[0] = lll - ((lll - llh) / (xhigh - xlow) * (x - xlow));
                xinterp[1] = lhl - ((lhl - lhh) / (xhigh - xlow) * (x - xlow));
                xinterp[2] = hll - ((hll - hlh) / (xhigh - xlow) * (x - xlow));
                xinterp[3] = hhl - ((hhl - hhh) / (xhigh - xlow) * (x - xlow));

                //Interpolate according to mass flux with new interpolated quality value
                ginterp[0] = xinterp[0] - ((xinterp[0] - xinterp[1]) / (Ghigh - Glow) * (G - Glow));

                pinterp = ginterp[0];
            }
            else
            {
                //Interpolate according to quality
                xinterp[0] = lll - ((lll - llh) / (xhigh - xlow) * (x - xlow));
                xinterp[1] = lhl - ((lhl - lhh) / (xhigh - xlow) * (x - xlow));
                xinterp[2] = hll - ((hll - hlh) / (xhigh - xlow) * (x - xlow));
                xinterp[3] = hhl - ((hhl - hhh) / (xhigh - xlow) * (x - xlow));

                //Interpolate according to mass flux with new interpolated quality value
                ginterp[0] = xinterp[0] - ((xinterp[0] - xinterp[1]) / (Ghigh - Glow) * (G - Glow));
                ginterp[1] = xinterp[2] - ((xinterp[2] - xinterp[3]) / (Ghigh - Glow) * (G - Glow));

                //Interpolate according to pressure with new interpolated mass flux value
                pinterp = ginterp[0] - ((ginterp[0] - ginterp[1]) / (Phigh - Plow) * (P - Plow));
            }

            return pinterp;
        }

        static SortValue GetLowHigh(double v, double[] data)
        {
            SortValue return_value = new SortValue();

            //double low = 0;
            //double high = 0;
            for (int i = 0; i < data.Length - 1; i++)
            {
                if (v >= data[i] && v <= data[i + 1])
                {
                    if (v == data[i])
                    {
                        return_value.low_value = data[i];
                        return_value.high_value = data[i];
                        return_value.low_index = i;
                        return_value.high_index = i;
                    }
                    else if (v == data[i + 1])
                    {
                        return_value.low_value = data[i + 1];
                        return_value.high_value = data[i + 1];
                        return_value.low_index = i + 1;
                        return_value.high_index = i + 1;
                    }
                    else
                    {
                        return_value.low_value = data[i];
                        return_value.high_value = data[i + 1];
                        return_value.low_index = i;
                        return_value.high_index = i + 1;
                    }

                    break;
                }
            }
            return return_value;
        }

       
    }

    struct SortValue
    {
        public int high_index;
        public int low_index;

        public double high_value;
        public double low_value;
    }
songshizhao
最初发表2018/10/30 21:55:32 最近更新2024/3/27 15:24:48 3184
为此篇作品打分
10
   评论