éxécution - C# trop lent

otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008 - 12 juin 2007 à 11:58
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 12 juin 2007 à 18:11
Bonjour,
J'ai écrit le programme suivant à partir d'un copier-coller de Java mais le temps d'execution est 20 fois plus long.
Est-ce que quelqu'un saurait si c'est normal ou les moyens de l'améliorer, SVP?
Merci pour votre aide.




            public class fonctions4
            {


                /** Creates a new instance of fonctions4 */


                public static double Ax(String table, int X, int an, double i)
                {


                    double Ax = -10000000;


                    for (int j = 0; j < 1000; j++)
                    {                        if (fonctions3.Dx(table, X, an, i) 0) { Ax 0; }
                        else { Ax = fonctions3.Mx(table, X, an, i) / fonctions3.Dx(table, X, an, i); }
                    }
                    return (Ax);
                }
            }


temps d'execution de la fonction Ax:


nombre d'appels      C#                                  VBA                             JAVA


1                           1031                                 43                                       90
10                         6459                                 43                                     150
100                       61158                              390                                     271
1000                   608375                             3871                                  1362
10000                XXXXXX                         38946                               11669
Le temps d'execution est exprimé en millisecondes.


Merci,
Otavio Reis

21 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 12:19
Salut,

Deja, sans connaitre fonctions3.Mx() et fonctions3.Dx et sans savoir ce qu'elles font, on pourra pas te dire si c'est normal.
Mais la de telles différences de temps d'execution m'étonnent un peu

Mx
MVP C# 
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 14:07
ok, Voilà le code  complet:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace teste2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       


        private void button1_MouseClick(object sender, MouseEventArgs e)
        {
        }
       
public class fonctions
    {


        public int[] Latable;


        public static int Min(int u, int v)
        {


            if (u <= v)
                return u;
            else
                return v;


        }




        public static int Max(int u, int v)
        {


            if (u <= v)
                return v;
            else
                return u;


        }




        public static double round(double what, int howmuch)
        {
            return (double)((int)(what * Math.Pow(howmuch, 10) + .5)) / Math.Pow(10, howmuch);
        }


        public static int DecalageAge(int AnnéeNaissance, double Taux2)
        {


            int[] Table00 = { 1901, 1911, 1921, 1930, 1938, 1947, 1954, 1961, 1968, 1976, 1985 };
            int[] Table05 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1961, 1968, 1975, 1982 };
            int[] Table10 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1961, 1968, 1975, 1982 };
            int[] Table15 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1961, 1968, 1975, 1982 };
            int[] Table20 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1960, 1967, 1974, 1981 };
            int[] Table25 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1960, 1967, 1974, 1981 };
            int[] Table30 = { 1901, 1912, 1920, 1929, 1939, 1947, 1954, 1960, 1967, 1974, 1981 };
            int[] Table35 = { 1901, 1912, 1920, 1930, 1939, 1947, 1954, 1960, 1966, 1973, 1980 };
            int[] Table40 = { 1901, 1912, 1920, 1930, 1939, 1947, 1954, 1960, 1966, 1972, 1979 };
            int[] Table45 = { 1901, 1910, 1920, 1931, 1939, 1947, 1953, 1960, 1966, 1971, 1979 };
            int[] Table50 = { 1901, 1912, 1920, 1930, 1939, 1947, 1954, 1959, 1966, 1972, 1978 };


            double Taux = fonctions.round(Taux2, 3);
            int[] Latable = new int[Table00.Length];


            // On différencie les cas pour Taux


            if (Taux 0) { Latable Table00; }            else if (Taux 0.005) { Latable Table05; }            else if (Taux 0.01) { Latable Table10; }            else if (Taux 0.015) { Latable Table15; }            else if (Taux 0.02) { Latable Table20; }            else if (Taux 0.025) { Latable Table25; }            else if (Taux 0.026) { Latable Table25; }            else if (Taux 0.03) { Latable Table30; }            else if (Taux 0.035) { Latable Table35; }            else if (Taux 0.04) { Latable Table40; }            else if (Taux 0.045) { Latable Table45; }            else if (Taux 0.05) { Latable Table50; }
            else { Console.WriteLine(" Taux non valide"); }




            int temp = 0;
            // On différencie les cas pour AnnéeNaissance


            if (AnnéeNaissance < Latable[0]) { temp = 6; }
            else if (Latable[0] <= AnnéeNaissance && AnnéeNaissance < Latable[1] - 1) { temp = 5; }
            else if (Latable[1] <= AnnéeNaissance && AnnéeNaissance < Latable[2] - 1) { temp = 4; }
            else if (Latable[2] <= AnnéeNaissance && AnnéeNaissance < Latable[3] - 1) { temp = 3; }
            else if (Latable[3] <= AnnéeNaissance && AnnéeNaissance < Latable[4] - 1) { temp = 2; }
            else if (Latable[4] <= AnnéeNaissance && AnnéeNaissance < Latable[5] - 1) { temp = 1; }
            else if (Latable[5] <= AnnéeNaissance && AnnéeNaissance < Latable[6] - 1) { temp = 0; }
            else if (Latable[6] <= AnnéeNaissance && AnnéeNaissance < Latable[7] - 1) { temp = -1; }
            else if (Latable[7] <= AnnéeNaissance && AnnéeNaissance < Latable[8] - 1) { temp = -2; }
            else if (Latable[8] <= AnnéeNaissance && AnnéeNaissance < Latable[9] - 1) { temp = -3; }
            else if (Latable[9] <= AnnéeNaissance && AnnéeNaissance < Latable[10] - 1) { temp = -4; }
            else if (Latable[10] - 1 <= AnnéeNaissance) { temp = -5; }




            int DecalageAge = temp;
            return (DecalageAge);
        }
}
        public class fonctions2
        {


            /** Creates a new instance of fonctions2 */




            public static double lx(String table, int x, int annee_naissance, double i)
            {


                int decal, age;
                double lx = -1000000;
                int[] Latable;
                int[] TPG93;


                int[] TV88 = { 100000, 99352, 99294, 99261, 99236, 99214, 99194, 99177, 99161, 99145, 99129, 99112, 99096, 99081, 99062, 99041, 99018, 98989, 98955, 98913, 98869, 98823, 98778, 98734, 98689, 98640, 98590, 98537, 98482, 98428, 98371, 98310, 98247, 98182, 98111, 98031, 97942, 97851, 97753, 97648, 97534, 97413, 97282, 97138, 96981, 96810, 96622, 96424, 96218, 95995, 95752, 95488, 95202, 94892, 94560, 94215, 93848, 93447, 93014, 92545, 92050, 91523, 90954, 90343, 89687, 88978, 88226, 87409, 86513, 85522, 84440, 83251, 81936, 80484, 78880, 77104, 75136, 72981, 70597, 67962, 65043, 61852, 58379, 54614, 50625, 46455, 42130, 37738, 33340, 28980, 24739, 20704, 16959, 13580, 10636, 8118, 6057, 4378, 3096, 2184, 1479, 961, 599, 358, 205, 113, 59, 30, 14, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] TD88 = { 100000, 99129, 99057, 99010, 98977, 98948, 98921, 98897, 98876, 98855, 98835, 98814, 98793, 98771, 98745, 98712, 98667, 98606, 98520, 98406, 98277, 98137, 97987, 97830, 97677, 97524, 97373, 97222, 97070, 96916, 96759, 96597, 96429, 96255, 96071, 95878, 95676, 95463, 95237, 94997, 94746, 94476, 94182, 93868, 93515, 93133, 92727, 92295, 91833, 91332, 90778, 90171, 89511, 88791, 88011, 87165, 86241, 85256, 84211, 83083, 81884, 80602, 79243, 77807, 76295, 74720, 73075, 71366, 69559, 67655, 65649, 63543, 61285, 58911, 56416, 53818, 51086, 48251, 45284, 42203, 39041, 35824, 32518, 29220, 25962, 22780, 19725, 16843, 14133, 11625, 9389, 7438, 5763, 4350, 3211, 2315, 1635, 1115, 740, 453, 263, 145, 76, 37, 17, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] TV73 = { 100000, 98832, 98736, 98677, 98631, 98593, 98559, 98528, 98499, 98472, 98447, 98424, 98401, 98379, 98354, 98324, 98286, 98239, 98182, 98119, 98055, 97993, 97932, 97873, 97815, 97755, 97696, 97636, 97575, 97509, 97439, 97367, 97290, 97208, 97120, 97025, 96922, 96812, 96691, 96561, 96419, 96263, 96094, 95910, 95707, 95485, 95245, 94983, 94698, 94388, 94056, 93702, 93322, 92910, 92465, 91987, 91478, 90938, 90364, 89754, 89106, 88417, 87674, 86862, 85977, 85015, 83966, 82818, 81561, 80181, 78659, 76982, 75139, 73120, 70914, 68502, 65860, 62981, 59867, 56524, 52974, 49246, 45363, 41351, 37256, 33160, 29136, 25229, 21491, 17979, 14743, 11852, 9362, 7280, 5571, 4190, 3092, 2238, 1585, 1098, 531, 237, 97, 36, 12, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] TD73 = { 100000, 98471, 98360, 98281, 98220, 98167, 98120, 98076, 98035, 97997, 97961, 97927, 97892, 97855, 97814, 97761, 97691, 97594, 97460, 97290, 97105, 96921, 96745, 96576, 96419, 96270, 96127, 95988, 95849, 95707, 95559, 95406, 95251, 95092, 94921, 94734, 94533, 94316, 94076, 93810, 93516, 93192, 92836, 92440, 91996, 91503, 90966, 90391, 89772, 89103, 88380, 87605, 86778, 85893, 84938, 83909, 82812, 81654, 80435, 79146, 77772, 76296, 74706, 73007, 71208, 69302, 67276, 65127, 62855, 60473, 57981, 55369, 52642, 49815, 46887, 43872, 40798, 37688, 34560, 31441, 28364, 25351, 22424, 19602, 16916, 14398, 12063, 9938, 8054, 6407, 4986, 3790, 2819, 2059, 1481, 1048, 728, 497, 333, 218, 103, 46, 19, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] TPRV93 = { 100000, 97047, 95995, 95793, 95653, 95556, 95515, 95477, 95442, 95410, 95379, 95359, 95336, 95311, 95284, 95254, 95221, 95185, 95144, 95101, 95056, 95008, 94957, 94904, 94850, 94794, 94736, 94677, 94617, 94555, 94491, 94424, 94356, 94285, 94211, 94133, 94050, 93963, 93871, 93774, 93670, 93560, 93442, 93318, 93185, 93043, 92892, 92732, 92560, 92378, 92183, 91976, 91756, 91520, 91273, 91013, 90741, 90455, 90155, 89844, 89523, 89191, 88849, 88498, 88126, 87733, 87319, 86882, 86422, 85911, 85343, 84711, 84007, 83224, 82337, 81333, 80198, 78913, 77462, 75840, 74030, 72016, 69780, 67306, 64621, 61719, 58596, 55255, 51700, 47999, 44172, 40248, 36261, 32253, 28330, 24535, 20914, 17513, 14373, 11530, 9014, 6843, 5023, 3547, 2395, 1535, 926, 519, 267, 123, 50, 17, 5, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Tpropre = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119 };




                Latable = new int[TV88.Length];


                // concerne TPRV93
                decal = fonctions.DecalageAge(annee_naissance, i);
                age = x + decal;
                age = fonctions.Min(120, age);
                age = fonctions.Max(0, age);


                if (x > 120 | x < 0) { lx = 0; }
                else
                {                    if (table "TV88") { Latable TV88; lx = Latable[x]; }                    else if (table "TD88") { Latable TD88; lx = Latable[x]; }                    else if (table "TV73") { Latable TV73; lx = Latable[x]; }                    else if (table "TD73") { Latable TD73; lx = Latable[x]; }                    else if (table "TPRV93") { Latable TPRV93; lx = Latable[age]; }                    else if (table "TPG93") { lx fonctions2.lx_TPG(table, x, annee_naissance, i); }                    else if (table "Tpropre") { lx Tpropre[x]; }
                    else { Console.WriteLine("mauvaise table choisie"); }
                }


                return (lx);
            }


            public static double lx_TPG(String NomTable, int x, int annee_naissance, double i)
            {


                double lx_TPG = -100000;


                if (annee_naissance < 1887) { annee_naissance = 1887; }
                else if (annee_naissance < 1914) { lx_TPG = fonctions2.lx_TPG_1(NomTable, x, annee_naissance, i); }
                else if (annee_naissance < 1941) { lx_TPG = fonctions2.lx_TPG_2(NomTable, x, annee_naissance, i); }
                else if (annee_naissance < 1968) { lx_TPG = fonctions2.lx_TPG_3(NomTable, x, annee_naissance, i); }
                else { lx_TPG = fonctions2.lx_TPG_4(NomTable, x, annee_naissance, i); }


                return (lx_TPG);
            }


            public static double lx_TPG_1(String NomTable, int x, int annee_naissance, double i)
            {




                int[] Table1887 =  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1888 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1889 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 11, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1890 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 29, 12, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1891 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 69, 32, 14, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1892 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 148, 76, 36, 15, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1893 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 288, 162, 84, 40, 17, 6, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1894 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 825, 522, 313, 176, 92, 44, 19, 7, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1895 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330, 885, 563, 339, 192, 101, 49, 21, 8, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1896 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039, 1419, 949, 607, 368, 210, 111, 54, 24, 9, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1897 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2995, 2166, 1514, 1017, 653, 398, 228, 122, 60, 27, 10, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1898 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4233, 3167, 2299, 1612, 1087, 701, 430, 248, 133, 66, 30, 12, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1899 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5782, 4457, 3345, 2437, 1715, 1162, 753, 464, 269, 146, 73, 33, 13, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1900 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7661, 6064, 4688, 3530, 2580, 1823, 1240, 807, 500, 292, 159, 80, 36, 15, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1901 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9883, 8008, 6355, 4927, 3721, 2729, 1936, 1322, 865, 538, 316, 173, 88, 40, 16, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1902 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12420, 10296, 8362, 6654, 5173, 3920, 2885, 2054, 1408, 925, 578, 341, 189, 96, 45, 18, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1903 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15248, 12898, 10717, 8725, 6960, 5427, 4125, 3046, 2177, 1499, 989, 621, 369, 205, 105, 49, 20, 7, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1904 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18338, 15792, 13386, 11146, 9097, 7276, 5689, 4337, 3213, 2305, 1593, 1056, 667, 398, 223, 115, 54, 23, 8, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1905 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21653, 18945, 16345, 13882, 11585, 9477, 7599, 5959, 4556, 3387, 2438, 1692, 1126, 715, 429, 241, 126, 60, 25, 9, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1906 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25147, 22313, 19555, 16903, 14385, 12030, 9864, 7930, 6235, 4782, 3566, 2576, 1795, 1200, 765, 462, 261, 137, 66, 28, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1907 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28735, 25856, 22977, 20171, 17467, 14894, 12483, 10259, 8268, 6519, 5014, 3751, 2720, 1902, 1278, 819, 497, 283, 149, 72, 31, 12, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1908 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32367, 29484, 26567, 23646, 20793, 18038, 15411, 12943, 10662, 8614, 6810, 5254, 3943, 2869, 2014, 1359, 875, 534, 306, 163, 79, 35, 13, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1909 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35998, 33148, 30234, 27281, 24319, 21420, 18614, 15935, 13411, 11072, 8967, 7108, 5500, 4141, 3023, 2131, 1443, 934, 573, 330, 177, 87, 38, 15, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1910 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39589, 36803, 33928, 30985, 27998, 24995, 22051, 19197, 16464, 13885, 11490, 9328, 7414, 5753, 4345, 3183, 2252, 1532, 995, 614, 356, 192, 95, 42, 17, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1911 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43111, 40414, 37610, 34712, 31740, 28719, 25677, 22689, 19787, 17002, 14368, 11916, 9697, 7727, 6013, 4556, 3349, 2379, 1625, 1061, 657, 383, 208, 104, 47, 18, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1912 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46475, 43927, 41219, 38398, 35479, 32482, 29429, 26351, 23322, 20373, 17539, 14851, 12344, 10070, 8045, 6278, 4771, 3519, 2509, 1720, 1128, 703, 412, 226, 113, 51, 21, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1913 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49691, 47305, 44750, 42030, 39194, 36255, 33232, 30149, 27034, 23964, 20970, 18086, 15345, 12782, 10452, 8371, 6551, 4994, 3696, 2645, 1821, 1200, 751, 443, 244, 124, 57, 23, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };




                int[] Latable;
                Latable = new int[Table1887.Length];



                if (annee_naissance 1887) { Latable Table1887; }                else if (annee_naissance 1888) { Latable Table1888; }                else if (annee_naissance 1889) { Latable Table1889; }                else if (annee_naissance 1890) { Latable Table1890; }                else if (annee_naissance 1891) { Latable Table1891; }                else if (annee_naissance 1892) { Latable Table1892; }                else if (annee_naissance 1893) { Latable Table1893; }                else if (annee_naissance 1894) { Latable Table1894; }                else if (annee_naissance 1895) { Latable Table1895; }                else if (annee_naissance 1896) { Latable Table1896; }                else if (annee_naissance 1897) { Latable Table1897; }                else if (annee_naissance 1898) { Latable Table1898; }                else if (annee_naissance 1899) { Latable Table1899; }                else if (annee_naissance 1900) { Latable Table1900; }                else if (annee_naissance 1901) { Latable Table1901; }                else if (annee_naissance 1902) { Latable Table1902; }                else if (annee_naissance 1903) { Latable Table1903; }                else if (annee_naissance 1904) { Latable Table1904; }                else if (annee_naissance 1905) { Latable Table1905; }                else if (annee_naissance 1906) { Latable Table1906; }                else if (annee_naissance 1907) { Latable Table1907; }                else if (annee_naissance 1908) { Latable Table1908; }                else if (annee_naissance 1909) { Latable Table1909; }                else if (annee_naissance 1910) { Latable Table1910; }                else if (annee_naissance 1911) { Latable Table1911; }                else if (annee_naissance 1912) { Latable Table1912; }                else if (annee_naissance 1913) { Latable Table1913; }


                int lx_TPG_1 = Latable[x];


                return (lx_TPG_1);
            }


            public static double lx_TPG_2(String NomTable, int x, int annee_naissance, double i)
            {




                int[] Table1914 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52732, 50513, 48124, 45563, 42833, 39983, 37025, 33979, 30867, 27718, 24608, 21570, 18637, 15844, 13226, 10840, 8704, 6830, 5223, 3878, 2785, 1926, 1275, 802, 476, 264, 135, 62, 25, 9, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1915 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55628, 53577, 51358, 48965, 46398, 43658, 40793, 37816, 34746, 31604, 28420, 25270, 22187, 19204, 16359, 13684, 11242, 9050, 7121, 5461, 4068, 2932, 2036, 1353, 856, 511, 285, 147, 68, 28, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1916 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58320, 56436, 54389, 52171, 49777, 47206, 44457, 41581, 38588, 35496, 32328, 29111, 25924, 22798, 19769, 16872, 14143, 11645, 9398, 7415, 5703, 4263, 3084, 2149, 1435, 912, 548, 307, 159, 75, 31, 11, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1917 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60829, 59113, 57234, 55191, 52975, 50581, 48007, 45252, 42364, 39356, 36245, 33052, 29804, 26580, 23413, 20338, 17391, 14609, 12056, 9753, 7716, 5952, 4463, 3240, 2267, 1521, 971, 586, 331, 173, 82, 35, 13, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1918 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63158, 61602, 59894, 58022, 55983, 53770, 51377, 48801, 46040, 43143, 40122, 36992, 33774, 30497, 27239, 24032, 20911, 17915, 15080, 12473, 10115, 8023, 6208, 4669, 3402, 2390, 1610, 1033, 627, 357, 187, 90, 38, 14, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1919 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65317, 63911, 62364, 60664, 58799, 56766, 54557, 52165, 49588, 46823, 43918, 40884, 37737, 34497, 31192, 27900, 24654, 21489, 18444, 15557, 12896, 10483, 8337, 6469, 4882, 3569, 2517, 1703, 1098, 670, 383, 203, 98, 42, 16, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1920 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67311, 66046, 64650, 63113, 61421, 59563, 57537, 55333, 52944, 50366, 47598, 44687, 41642, 38478, 35218, 31886, 28561, 25278, 22071, 18979, 16040, 13325, 10858, 8658, 6737, 5100, 3741, 2648, 1800, 1166, 716, 412, 220, 107, 47, 18, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1921 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69153, 68017, 66763, 65377, 63850, 62167, 60318, 58298, 56100, 53714, 51138, 48368, 45450, 42395, 39218, 35937, 32580, 29225, 25905, 22656, 19518, 16529, 13761, 11240, 8985, 7012, 5324, 3919, 2785, 1900, 1238, 764, 442, 238, 117, 51, 20, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1922 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70870, 69835, 68710, 67466, 66092, 64574, 62901, 61061, 59049, 56857, 54476, 51901, 49130, 46208, 43145, 39954, 36655, 33274, 29889, 26534, 23245, 20061, 17022, 14202, 11627, 9319, 7292, 5554, 4103, 2926, 2005, 1312, 814, 474, 256, 127, 56, 22, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1923 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72468, 71527, 70503, 69390, 68157, 66793, 65287, 63624, 61793, 59789, 57604, 55229, 52657, 49886, 46961, 43890, 40687, 37371, 33967, 30554, 27166, 23837, 20609, 17521, 14650, 12021, 9659, 7580, 5791, 4291, 3072, 2114, 1390, 867, 508, 277, 138, 62, 24, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1924 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73955, 73100, 72170, 71157, 70055, 68834, 67482, 65986, 64334, 62513, 60519, 58341, 55972, 53404, 50634, 47707, 44630, 41416, 38084, 34659, 31220, 27798, 24432, 21161, 18025, 15102, 12421, 10006, 7873, 6033, 4486, 3223, 2227, 1471, 922, 544, 298, 150, 68, 27, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1925 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75336, 74562, 73718, 72799, 71798, 70708, 69498, 68158, 66674, 65033, 63222, 61237, 59068, 56706, 54143, 51375, 48446, 45364, 42141, 38795, 35350, 31885, 28433, 25030, 21716, 18534, 15561, 12827, 10358, 8172, 6281, 4686, 3379, 2345, 1556, 980, 581, 321, 163, 74, 30, 10, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1926 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76619, 75919, 75156, 74324, 73416, 72427, 71348, 70150, 68822, 67349, 65720, 63920, 61945, 59785, 57430, 54873, 52108, 49180, 46094, 42863, 39504, 36040, 32551, 29069, 25630, 22275, 19047, 16024, 13239, 10717, 8478, 6535, 4892, 3541, 2466, 1644, 1041, 621, 345, 176, 81, 33, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1927 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77832, 77178, 76489, 75736, 74916, 74020, 73042, 71975, 70790, 69473, 68013, 66395, 64607, 62643, 60492, 58146, 55595, 52834, 49907, 46818, 43580, 40209, 36729, 33217, 29706, 26233, 22838, 19564, 16493, 13656, 11082, 8790, 6796, 5103, 3707, 2592, 1736, 1105, 663, 371, 191, 89, 37, 13, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1928 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78978, 78369, 77725, 77046, 76305, 75495, 74611, 73645, 72590, 71417, 70113, 68665, 67060, 65283, 63330, 61190, 58853, 56309, 53553, 50627, 47537, 44293, 40912, 37415, 33882, 30344, 26837, 23404, 20086, 16967, 14080, 11453, 9108, 7062, 5320, 3878, 2723, 1831, 1172, 707, 398, 207, 97, 40, 14, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1929 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80059, 79492, 78892, 78259, 77590, 76860, 76062, 75190, 74236, 73193, 72032, 70740, 69305, 67712, 65947, 64006, 61877, 59550, 57014, 54264, 51341, 48251, 45002, 41611, 38100, 34546, 30982, 27444, 23973, 20612, 17446, 14509, 11829, 9433, 7334, 5543, 4055, 2858, 1931, 1241, 753, 427, 223, 106, 45, 16, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1930 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81080, 80552, 79994, 79404, 78780, 78122, 77403, 76617, 75756, 74814, 73783, 72635, 71356, 69934, 68354, 66602, 64673, 62555, 60238, 57711, 54968, 52048, 48958, 45706, 42308, 38783, 35210, 31621, 28052, 24545, 21142, 17930, 14943, 12212, 9763, 7613, 5771, 4237, 2998, 2034, 1314, 802, 458, 241, 115, 49, 18, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1931 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82042, 81551, 81032, 80482, 79902, 79288, 78641, 77933, 77158, 76309, 75379, 74360, 73225, 71959, 70550, 68983, 67244, 65328, 63222, 60916, 58398, 55662, 52748, 49659, 46405, 42999, 39463, 35872, 32260, 28662, 25119, 21675, 18418, 15382, 12600, 10099, 7897, 6005, 4424, 3143, 2141, 1390, 853, 490, 260, 126, 54, 20, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1932 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82957, 82493, 82011, 81500, 80959, 80388, 79784, 79148, 78451, 77687, 76850, 75932, 74925, 73803, 72550, 71155, 69601, 67875, 65972, 63879, 61584, 59077, 56349, 53440, 50354, 47099, 43687, 40140, 36533, 32899, 29272, 25695, 22212, 18910, 15826, 12994, 10441, 8187, 6245, 4616, 3292, 2253, 1470, 907, 524, 280, 137, 59, 22, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1933 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83827, 83389, 82933, 82458, 81955, 81424, 80862, 80268, 79642, 78956, 78204, 77378, 76473, 75479, 74369, 73130, 71748, 70208, 68495, 66605, 64525, 62243, 59746, 57028, 54126, 51043, 47787, 44371, 40814, 37192, 33537, 29884, 26274, 22751, 19406, 16276, 13394, 10789, 8483, 6491, 4814, 3446, 2368, 1552, 963, 560, 302, 148, 65, 25, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1934 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84654, 84242, 83811, 83362, 82895, 82400, 81877, 81325, 80741, 80126, 79450, 78709, 77896, 77002, 76021, 74924, 73698, 72330, 70804, 69105, 67229, 65162, 62892, 60407, 57698, 54804, 51726, 48471, 45051, 41486, 37850, 34175, 30496, 26855, 23295, 19907, 16730, 13798, 11143, 8786, 6742, 5017, 3605, 2488, 1638, 1022, 598, 325, 161, 71, 27, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1935 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85442, 85053, 84646, 84222, 83780, 83320, 82834, 82320, 81777, 81203, 80598, 79934, 79204, 78402, 77520, 76551, 75467, 74255, 72901, 71389, 69705, 67843, 65790, 63533, 61060, 58362, 55475, 52402, 49149, 45727, 42154, 38506, 34813, 31110, 27437, 23841, 20412, 17189, 14209, 11502, 9093, 6999, 5226, 3769, 2612, 1728, 1084, 638, 349, 174, 78, 30, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1936 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86189, 85823, 85439, 85038, 84621, 84186, 83734, 83256, 82750, 82216, 81652, 81058, 80404, 79686, 78895, 78026, 77070, 75999, 74800, 73460, 71963, 70292, 68445, 66406, 64163, 61703, 59016, 56138, 53071, 49821, 46398, 42819, 39160, 35449, 31723, 28021, 24389, 20920, 17652, 14624, 11867, 9407, 7262, 5440, 3938, 2740, 1821, 1148, 681, 375, 189, 85, 34, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1937 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86898, 86554, 86193, 85815, 85420, 85009, 84581, 84137, 83667, 83170, 82645, 82091, 81506, 80863, 80156, 79378, 78520, 77577, 76519, 75334, 74008, 72525, 70870, 69037, 67013, 64784, 62337, 59661, 56793, 53734, 50487, 47064, 43480, 39811, 36084, 32336, 28607, 24940, 21431, 18120, 15044, 12237, 9726, 7531, 5660, 4111, 2872, 1918, 1216, 725, 402, 204, 93, 37, 13, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1938 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87571, 87248, 86909, 86552, 86180, 85791, 85386, 84965, 84529, 84067, 83578, 83062, 82518, 81943, 81311, 80615, 79848, 79003, 78072, 77028, 75857, 74545, 73077, 71436, 69618, 67609, 65395, 62962, 60298, 57441, 54390, 51148, 47725, 44138, 40459, 36718, 32950, 29193, 25493, 21946, 18592, 15469, 12613, 10051, 7805, 5885, 4290, 3009, 2019, 1286, 771, 431, 221, 102, 41, 14, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1939 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88210, 87907, 87589, 87254, 86902, 86535, 86152, 85753, 85340, 84910, 84456, 83977, 83470, 82935, 82370, 81749, 81064, 80309, 79476, 78557, 77526, 76369, 75071, 73618, 71992, 70190, 68196, 65997, 63578, 60928, 58081, 55038, 51802, 48382, 44791, 41105, 37351, 33563, 29780, 26049, 22464, 19068, 15899, 12994, 10382, 8085, 6115, 4474, 3151, 2124, 1360, 820, 461, 238, 111, 45, 16, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1940 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88816, 88532, 88233, 87919, 87589, 87242, 86880, 86503, 86111, 85704, 85282, 84836, 84365, 83867, 83341, 82787, 82176, 81502, 80758, 79937, 79031, 78013, 76870, 75587, 74149, 72538, 70752, 68773, 66589, 64185, 61548, 58714, 55681, 52451, 49033, 45441, 41748, 37982, 34176, 30369, 26606, 22985, 19548, 16334, 13381, 10718, 8370, 6351, 4663, 3297, 2232, 1437, 872, 493, 257, 121, 50, 18, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0 };




                int[] Latable;
                Latable = new int[Table1914.Length];



                if (annee_naissance 1914) { Latable Table1914; }                else if (annee_naissance 1915) { Latable Table1915; }                else if (annee_naissance 1916) { Latable Table1916; }                else if (annee_naissance 1917) { Latable Table1917; }                else if (annee_naissance 1918) { Latable Table1918; }                else if (annee_naissance 1919) { Latable Table1919; }                else if (annee_naissance 1920) { Latable Table1920; }                else if (annee_naissance 1921) { Latable Table1921; }                else if (annee_naissance 1922) { Latable Table1922; }                else if (annee_naissance 1923) { Latable Table1923; }                else if (annee_naissance 1924) { Latable Table1924; }                else if (annee_naissance 1925) { Latable Table1925; }                else if (annee_naissance 1926) { Latable Table1926; }                else if (annee_naissance 1927) { Latable Table1927; }                else if (annee_naissance 1928) { Latable Table1928; }                else if (annee_naissance 1929) { Latable Table1929; }                else if (annee_naissance 1930) { Latable Table1930; }                else if (annee_naissance 1931) { Latable Table1931; }                else if (annee_naissance 1932) { Latable Table1932; }                else if (annee_naissance 1933) { Latable Table1933; }                else if (annee_naissance 1934) { Latable Table1934; }                else if (annee_naissance 1935) { Latable Table1935; }                else if (annee_naissance 1936) { Latable Table1936; }                else if (annee_naissance 1937) { Latable Table1937; }                else if (annee_naissance 1938) { Latable Table1938; }                else if (annee_naissance 1939) { Latable Table1939; }                else if (annee_naissance 1940) { Latable Table1940; }




                int lx_TPG_2 = Latable[x];


                return (lx_TPG_2);


            }


            public static double lx_TPG_3(String NomTable, int x, int annee_naissance, double i)
            {


                int[] Table1941 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89391, 89125, 88845, 88550, 88240, 87914, 87572, 87216, 86844, 86459, 86058, 85644, 85206, 84743, 84254, 83737, 83193, 82592, 81929, 81197, 80388, 79495, 78490, 77361, 76093, 74669, 73074, 71303, 69341, 67172, 64783, 62161, 59339, 56316, 53094, 49680, 46087, 42388, 38611, 34788, 30958, 27165, 23510, 20032, 16774, 13772, 11060, 8662, 6593, 4858, 3448, 2345, 1517, 926, 527, 277, 131, 55, 20, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1942 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89934, 89687, 89424, 89148, 88857, 88552, 88231, 87893, 87542, 87176, 86797, 86404, 85997, 85566, 85111, 84631, 84124, 83589, 82999, 82347, 81626, 80829, 79948, 78956, 77841, 76588, 75180, 73600, 71845, 69899, 67746, 65373, 62765, 59956, 56944, 53730, 50321, 46729, 43026, 39238, 35399, 31547, 27726, 24036, 20519, 17217, 14169, 11407, 8958, 6840, 5057, 3604, 2461, 1600, 982, 563, 298, 143, 60, 22, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1943 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90446, 90218, 89974, 89715, 89443, 89156, 88854, 88538, 88205, 87859, 87499, 87126, 86739, 86340, 85917, 85470, 84998, 84500, 83975, 83395, 82754, 82045, 81260, 80391, 79413, 78312, 77073, 75680, 74116, 72377, 70447, 68311, 65954, 63361, 60566, 57566, 54360, 50957, 47366, 43660, 39864, 36010, 32137, 28289, 24566, 21011, 17666, 14570, 11760, 9261, 7092, 5262, 3764, 2582, 1687, 1041, 601, 320, 155, 66, 24, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1944 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90931, 90718, 90493, 90253, 89997, 89728, 89446, 89148, 88836, 88508, 88168, 87813, 87446, 87066, 86673, 86258, 85819, 85356, 84867, 84352, 83782, 83152, 82454, 81681, 80824, 79859, 78772, 77548, 76170, 74622, 72900, 70987, 68867, 66526, 63949, 61168, 58180, 54985, 51587, 47999, 44290, 40487, 36620, 32727, 28852, 25097, 21505, 18118, 14977, 12118, 9569, 7350, 5472, 3929, 2706, 1777, 1103, 641, 344, 168, 73, 27, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1945 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91388, 91191, 90982, 90760, 90523, 90271, 90006, 89727, 89434, 89126, 88803, 88467, 88119, 87758, 87384, 86998, 86591, 86160, 85705, 85225, 84719, 84159, 83539, 82853, 82091, 81247, 80296, 79222, 78013, 76651, 75119, 73413, 71516, 69414, 67090, 64529, 61763, 58787, 55602, 52212, 48627, 44918, 41107, 37228, 33317, 29417, 25631, 22003, 18575, 15388, 12481, 9882, 7614, 5687, 4099, 2836, 1871, 1167, 683, 369, 182, 80, 30, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1946 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91820, 91638, 91444, 91238, 91018, 90785, 90536, 90275, 90000, 89711, 89407, 89089, 88759, 88416, 88060, 87693, 87315, 86914, 86491, 86045, 85574, 85077, 84527, 83918, 83242, 82493, 81661, 80722, 79663, 78468, 77122, 75606, 73916, 72037, 69952, 67645, 65100, 62349, 59388, 56214, 52832, 49251, 45541, 41726, 37835, 33906, 29983, 26167, 22503, 19035, 15804, 12849, 10201, 7883, 5907, 4274, 2969, 1968, 1235, 727, 396, 197, 87, 33, 11, 3, 0, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1947 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92227, 92059, 91879, 91689, 91485, 91269, 91039, 90794, 90536, 90265, 89980, 89681, 89367, 89042, 88704, 88355, 87994, 87623, 87229, 86814, 86376, 85914, 85426, 84886, 84287, 83623, 82885, 82065, 81140, 80094, 78914, 77583, 76084, 74411, 72549, 70481, 68191, 65664, 62929, 59981, 56819, 53446, 49871, 46161, 42341, 38441, 34496, 30550, 26705, 23007, 19499, 16225, 13222, 10525, 8158, 6133, 4453, 3107, 2069, 1305, 773, 424, 213, 95, 37, 12, 3, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1948 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92612, 92456, 92290, 92114, 91926, 91725, 91512, 91285, 91043, 90789, 90522, 90241, 89946, 89637, 89317, 88985, 88642, 88287, 87922, 87536, 87129, 86699, 86245, 85767, 85237, 84648, 83994, 83268, 82461, 81548, 80517, 79351, 78036, 76552, 74896, 73051, 71001, 68729, 66219, 63500, 60567, 57418, 54055, 50485, 46778, 42954, 39045, 35085, 31117, 27245, 23514, 19967, 16650, 13601, 10855, 8438, 6364, 4638, 3249, 2174, 1379, 821, 454, 230, 104, 41, 13, 3, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1949 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92975, 92831, 92678, 92514, 92340, 92155, 91958, 91748, 91524, 91285, 91035, 90771, 90494, 90204, 89900, 89584, 89258, 88920, 88572, 88214, 87835, 87435, 87013, 86568, 86099, 85578, 85000, 84357, 83642, 82847, 81947, 80929, 79779, 78479, 77011, 75372, 73545, 71513, 69259, 66766, 64064, 61146, 58010, 54657, 51095, 47390, 43565, 39647, 35673, 31685, 27787, 24023, 20439, 17079, 13984, 11190, 8723, 6601, 4828, 3396, 2283, 1456, 872, 486, 248, 113, 45, 15, 4, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1950 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93318, 93185, 93043, 92892, 92732, 92560, 92378, 92183, 91976, 91756, 91520, 91273, 91013, 90741, 90455, 90155, 89844, 89523, 89191, 88849, 88498, 88126, 87733, 87319, 86882, 86422, 85911, 85343, 84711, 84007, 83224, 82337, 81333, 80198, 78913, 77462, 75840, 74030, 72016, 69780, 67306, 64621, 61719, 58596, 55255, 51700, 47999, 44172, 40248, 36261, 32253, 28330, 24535, 20914, 17513, 14373, 11530, 9014, 6843, 5023, 3547, 2395, 1535, 926, 519, 267, 123, 50, 17, 5, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1951 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93642, 93519, 93388, 93249, 93100, 92942, 92773, 92593, 92402, 92198, 91980, 91748, 91504, 91248, 90980, 90698, 90403, 90097, 89781, 89455, 89119, 88774, 88409, 88024, 87618, 87189, 86738, 86236, 85677, 85056, 84364, 83592, 82719, 81729, 80607, 79338, 77903, 76299, 74507, 72511, 70293, 67837, 65170, 62284, 59176, 55846, 52300, 48603, 44776, 40846, 36848, 32822, 28874, 25049, 21393, 17950, 14766, 11875, 9310, 7090, 5223, 3703, 2512, 1618, 982, 555, 287, 134, 55, 19, 5, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1952 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93948, 93835, 93714, 93585, 93447, 93301, 93145, 92979, 92802, 92613, 92412, 92198, 91969, 91729, 91476, 91212, 90934, 90643, 90342, 90032, 89711, 89381, 89043, 88685, 88307, 87908, 87488, 87045, 86553, 86004, 85393, 84712, 83953, 83091, 82115, 81008, 79755, 78336, 76749, 74975, 72998, 70799, 68361, 65711, 62842, 59749, 56432, 52895, 49204, 45377, 41442, 37433, 33390, 29419, 25565, 21874, 18392, 15163, 12226, 9612, 7342, 5428, 3863, 2632, 1705, 1040, 592, 309, 146, 60, 21, 6, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1953 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94238, 94133, 94021, 93902, 93775, 93640, 93496, 93342, 93178, 93004, 92818, 92620, 92409, 92183, 91946, 91698, 91437, 91164, 90877, 90581, 90275, 89961, 89637, 89304, 88953, 88582, 88191, 87779, 87345, 86861, 86323, 85722, 85052, 84304, 83456, 82493, 81401, 80163, 78761, 77190, 75435, 73476, 71296, 68877, 66245, 63393, 60316, 57012, 53485, 49800, 45975, 42037, 38018, 33959, 29966, 26084, 22359, 18838, 15566, 12582, 9919, 7600, 5638, 4029, 2757, 1795, 1102, 631, 332, 158, 66, 24, 7, 1, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1954 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94512, 94414, 94310, 94200, 94083, 93958, 93825, 93683, 93532, 93371, 93199, 93016, 92821, 92612, 92390, 92157, 91912, 91655, 91385, 91103, 90812, 90512, 90202, 89884, 89558, 89213, 88850, 88466, 88062, 87636, 87162, 86633, 86042, 85383, 84647, 83811, 82862, 81785, 80562, 79176, 77623, 75885, 73945, 71784, 69384, 66771, 63937, 60876, 57585, 54069, 50391, 46569, 42628, 38601, 34527, 30513, 26604, 22846, 19287, 15972, 12942, 10231, 7864, 5853, 4199, 2886, 1888, 1166, 672, 357, 171, 73, 26, 8, 2, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1955 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94772, 94681, 94585, 94483, 94375, 94259, 94136, 94005, 93865, 93716, 93558, 93389, 93209, 93016, 92811, 92592, 92362, 92120, 91867, 91602, 91324, 91038, 90742, 90438, 90126, 89806, 89468, 89111, 88735, 88339, 87921, 87455, 86936, 86356, 85708, 84983, 84160, 83224, 82161, 80954, 79584, 78048, 76329, 74407, 72265, 69885, 67291, 64475, 61429, 58154, 54649, 50979, 47160, 43217, 39183, 35095, 31062, 27126, 23337, 19741, 16383, 13308, 10548, 8132, 6073, 4373, 3020, 1985, 1233, 715, 383, 186, 80, 29, 9, 2, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1956 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95018, 94934, 94845, 94751, 94650, 94543, 94429, 94308, 94179, 94042, 93895, 93739, 93573, 93395, 93206, 93003, 92787, 92561, 92323, 92073, 91812, 91539, 91257, 90966, 90668, 90361, 90047, 89716, 89366, 88997, 88608, 88199, 87742, 87232, 86662, 86024, 85311, 84500, 83578, 82529, 81337, 79984, 78465, 76764, 74861, 72739, 70378, 67803, 65005, 61977, 58716, 55224, 51562, 47748, 43804, 39763, 35663, 31610, 27650, 23830, 20197, 16799, 13678, 10871, 8406, 6299, 4553, 3157, 2086, 1303, 761, 410, 201, 87, 33, 10, 2, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1957 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95251, 95173, 95091, 95003, 94910, 94811, 94706, 94594, 94475, 94348, 94212, 94068, 93915, 93751, 93576, 93389, 93190, 92977, 92754, 92519, 92274, 92017, 91747, 91470, 91184, 90891, 90590, 90282, 89957, 89614, 89252, 88871, 88470, 88021, 87520, 86960, 86334, 85632, 84833, 83924, 82890, 81713, 80376, 78875, 77191, 75308, 73205, 70864, 68308, 65529, 62518, 59273, 55794, 52141, 48332, 44389, 40342, 36230, 32160, 28176, 24326, 20658, 17219, 14053, 11199, 8685, 6530, 4738, 3299, 2190, 1375, 809, 439, 217, 95, 36, 11, 3, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1958 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95473, 95401, 95324, 95243, 95156, 95065, 94967, 94864, 94753, 94636, 94511, 94378, 94236, 94085, 93923, 93751, 93567, 93371, 93161, 92941, 92710, 92468, 92215, 91950, 91677, 91396, 91108, 90813, 90511, 90192, 89855, 89500, 89127, 88733, 88294, 87802, 87252, 86635, 85945, 85158, 84262, 83242, 82081, 80760, 79276, 77611, 75746, 73663, 71342, 68806, 66046, 63053, 59823, 56358, 52715, 48912, 44970, 40919, 36797, 32710, 28703, 24824, 21121, 17643, 14433, 11532, 8970, 6766, 4927, 3446, 2299, 1451, 859, 470, 234, 104, 40, 13, 3, 0, 0, 0, 0, 0, 0, 0 };
                int[] Table1959 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95684, 95616, 95544, 95469, 95389, 95304, 95214, 95118, 95016, 94907, 94792, 94669, 94537, 94398, 94249, 94090, 93921, 93740, 93546, 93339, 93122, 92895, 92657, 92408, 92147, 91878, 91602, 91319, 91029, 90733, 90420, 90090, 89742, 89376, 88991, 88559, 88077, 87536, 86930, 86251, 85476, 84593, 83587, 82441, 81137, 79670, 78023, 76177, 74113, 71813, 69297, 66556, 63581, 60368, 56917, 53285, 49489, 45549, 41494, 37362, 33260, 29232, 25325, 21588, 18071, 14818, 11870, 9260, 7007, 5122, 3596, 2411, 1530, 911, 503, 253, 114, 44, 14, 4, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1960 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95884, 95821, 95754, 95683, 95609, 95530, 95447, 95358, 95263, 95163, 95056, 94942, 94821, 94692, 94555, 94408, 94252, 94085, 93907, 93716, 93512, 93299, 93075, 92840, 92595, 92338, 92074, 91802, 91524, 91240, 90949, 90643, 90319, 89978, 89619, 89241, 88818, 88344, 87813, 87218, 86549, 85787, 84917, 83925, 82794, 81506, 80056, 78427, 76601, 74557, 72276, 69781, 67059, 64103, 60907, 57470, 53850, 50061, 46124, 42068, 37927, 33810, 29761, 25827, 22058, 18502, 15207, 12213, 9555, 7254, 5321, 3752, 2527, 1613, 966, 537, 273, 124, 49, 16, 4, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1961 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96074, 96015, 95953, 95887, 95817, 95744, 95667, 95585, 95497, 95404, 95305, 95200, 95088, 94969, 94842, 94707, 94562, 94409, 94244, 94069, 93881, 93680, 93470, 93249, 93018, 92776, 92524, 92264, 91997, 91724, 91445, 91160, 90859, 90542, 90208, 89856, 89486, 89071, 88606, 88084, 87499, 86841, 86090, 85234, 84255, 83140, 81867, 80435, 78824, 77017, 74993, 72732, 70257, 67556, 64619, 61440, 58019, 54411, 50630, 46697, 42639, 38491, 34360, 30292, 26332, 22531, 18938, 15601, 12561, 9855, 7506, 5526, 3912, 2647, 1699, 1024, 573, 294, 135, 54, 18, 5, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1962 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96256, 96200, 96141, 96080, 96015, 95947, 95875, 95799, 95718, 95632, 95540, 95443, 95339, 95229, 95112, 94987, 94854, 94712, 94560, 94399, 94226, 94041, 93843, 93636, 93418, 93191, 92953, 92704, 92449, 92187, 91919, 91645, 91365, 91070, 90759, 90432, 90087, 89724, 89317, 88861, 88348, 87773, 87126, 86387, 85543, 84579, 83478, 82222, 80806, 79214, 77425, 75421, 73182, 70727, 68046, 65128, 61968, 58562, 54967, 51195, 47267, 43208, 39053, 34911, 30823, 26839, 23007, 19377, 15999, 12914, 10160, 7763, 5735, 4077, 2771, 1788, 1085, 612, 316, 146, 59, 20, 5, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1963 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96431, 96376, 96321, 96263, 96203, 96139, 96072, 96001, 95926, 95846, 95762, 95672, 95576, 95474, 95366, 95250, 95127, 94996, 94857, 94708, 94548, 94378, 94196, 94001, 93797, 93583, 93359, 93125, 92880, 92628, 92371, 92108, 91839, 91565, 91276, 90971, 90650, 90312, 89956, 89557, 89109, 88606, 88041, 87404, 86677, 85846, 84895, 83809, 82569, 81170, 79596, 77827, 75843, 73624, 71190, 68529, 65631, 62489, 59100, 55518, 51756, 47833, 43775, 39615, 35460, 31356, 27347, 23485, 19820, 16401, 13272, 10471, 8025, 5950, 4246, 2899, 1880, 1148, 652, 339, 159, 65, 22, 6, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1964 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96596, 96544, 96490, 96435, 96379, 96319, 96257, 96190, 96121, 96047, 95968, 95885, 95796, 95702, 95602, 95495, 95382, 95261, 95132, 94994, 94848, 94691, 94523, 94344, 94152, 93951, 93740, 93519, 93289, 93048, 92801, 92548, 92289, 92026, 91757, 91473, 91175, 90860, 90529, 90180, 89789, 89350, 88856, 88300, 87674, 86959, 86140, 85203, 84131, 82907, 81526, 79970, 78220, 76256, 74058, 71645, 69004, 66126, 63003, 59631, 56063, 52312, 48396, 44338, 40174, 36009, 31888, 27857, 23966, 20266, 16807, 13634, 10786, 8292, 6170, 4420, 3032, 1976, 1214, 694, 365, 172, 72, 25, 7, 1, 0, 0, 0, 0, 0, 0 };
                int[] Table1965 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96755, 96705, 96654, 96601, 96547, 96491, 96433, 96371, 96306, 96237, 96165, 96088, 96006, 95918, 95826, 95727, 95622, 95510, 95391, 95264, 95129, 94985, 94830, 94665, 94489, 94300, 94101, 93894, 93677, 93450, 93213, 92970, 92721, 92468, 92209, 91945, 91667, 91375, 91066, 90742, 90400, 90017, 89586, 89101, 88554, 87939, 87235, 86428, 85505, 84448, 83240, 81875, 80337, 78606, 76663, 74485, 72093, 69474, 66616, 63512, 60157, 56604, 52865, 48955, 44900, 40732, 36558, 32421, 28368, 24450, 20716, 17218, 14001, 11107, 8565, 6394, 4599, 3169, 2076, 1282, 739, 391, 187, 79, 28, 8, 2, 0, 0, 0, 0, 0, 0 };
                int[] Table1966 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96908, 96860, 96810, 96759, 96707, 96654, 96600, 96542, 96482, 96418, 96350, 96279, 96203, 96122, 96036, 95945, 95848, 95744, 95634, 95517, 95392, 95259, 95117, 94965, 94803, 94629, 94443, 94247, 94043, 93830, 93606, 93373, 93134, 92890, 92641, 92387, 92128, 91856, 91569, 91267, 90949, 90615, 90239, 89816, 89339, 88803, 88198, 87504, 86710, 85800, 84758, 83565, 82218, 80698, 78986, 77063, 74906, 72535, 69937, 67100, 64015, 60678, 57141, 53413, 49511, 45459, 41288, 37106, 32955, 28881, 24935, 21169, 17632, 14373, 11432, 8843, 6624, 4783, 3310, 2179, 1354, 785, 419, 202, 86, 31, 9, 2, 0, 0, 0, 0, 0, 0 };
                int[] Table1967 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97062, 97014, 96967, 96918, 96868, 96817, 96765, 96711, 96655, 96595, 96532, 96465, 96395, 96320, 96241, 96156, 96067, 95971, 95869, 95761, 95646, 95523, 95392, 95252, 95103, 94943, 94771, 94588, 94396, 94195, 93984, 93765, 93535, 93300, 93060, 92815, 92566, 92313, 92046, 91765, 91469, 91157, 90830, 90461, 90046, 89578, 89051, 88456, 87774, 86992, 86095, 85068, 83890, 82559, 81057, 79365, 77461, 75325, 72976, 70399, 67582, 64517, 61198, 57676, 53961, 50067, 46019, 41846, 37656, 33491, 29397, 25425, 21626, 18052, 14750, 11764, 9126, 6860, 4972, 3455, 2287, 1429, 834, 449, 219, 94, 35, 10, 2, 0, 0, 0, 0, 0, 0 };


                int[] Latable;
                Latable = new int[Table1941.Length];



                if (annee_naissance 1941) { Latable Table1941; }                else if (annee_naissance 1942) { Latable Table1942; }                else if (annee_naissance 1943) { Latable Table1943; }                else if (annee_naissance 1944) { Latable Table1944; }                else if (annee_naissance 1945) { Latable Table1945; }                else if (annee_naissance 1946) { Latable Table1946; }                else if (annee_naissance 1947) { Latable Table1947; }                else if (annee_naissance 1948) { Latable Table1948; }                else if (annee_naissance 1949) { Latable Table1949; }                else if (annee_naissance 1950) { Latable Table1950; }                else if (annee_naissance 1951) { Latable Table1951; }                else if (annee_naissance 1952) { Latable Table1952; }                else if (annee_naissance 1953) { Latable Table1953; }                else if (annee_naissance 1954) { Latable Table1954; }                else if (annee_naissance 1955) { Latable Table1955; }                else if (annee_naissance 1956) { Latable Table1956; }                else if (annee_naissance 1957) { Latable Table1957; }                else if (annee_naissance 1958) { Latable Table1958; }                else if (annee_naissance 1959) { Latable Table1959; }                else if (annee_naissance 1960) { Latable Table1960; }                else if (annee_naissance 1961) { Latable Table1961; }                else if (annee_naissance 1962) { Latable Table1962; }                else if (annee_naissance 1963) { Latable Table1963; }                else if (annee_naissance 1964) { Latable Table1964; }                else if (annee_naissance
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 15:30
Je comprends que t'ai pas posté le code lors du premier message

Bref, en benchant la méthode Ax_deces, j'obtiens 562 dans la TextBox7
En sortant l'initialisation des tableaux de leur méthode respective, je descend entre 128 et 180 (avec le TickCount qui entoure toutes les méthodes)

Mx
MVP C# 
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 15:38
merci BCP MorpionMX... ça optimise pas mal...

Tu trouves que le C# est 2 fois plus lent que java? C'est pas bizarre que le VBA soit plus rapide?

Otavio Reis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 15:44
Avant de te répondre, j'ai une petite question : A quoi sert ta boucle for dans Ax_deces ?
C'etait pour le bench ?
Mx
MVP C# 
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 juin 2007 à 15:48
Pfff.. quel code..

"Je comprends que t'ai pas posté le code lors du premier message"

Bha en même temps tu l'as un peu cherché Mx.

Si la boucle était bien plus grande, genre 100 000 passages. est-ce que le C# améliore ses perfs ??
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
12 juin 2007 à 15:48
Hello,

J'avoue ne pas avoir eu le courage de controller, mais la méthode Dx ne fait aucune modification des paramètres ou de valeurs statics ?
Dans ce cas, tu peux transformer :
for (int j = 0; j < 1000; j++)
{        if (fonctions3.Dx(table, X, an, i) 0) { Ax 0; }
        else { Ax = fonctions3.Mx(table, X, an, i) / fonctions3.Dx(table, X, an, i); }
}

En

for (int j = 0; j < 1000; j++)
{
        Ax =fonctions3.Dx(table, X, an, i) ;
        if (Ax!= 0) 
             Ax = fonctions3.Mx(table, X, an, i) / Ax;
}

De cette manière, tu ne fais qu'un appel à function3.Dx

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 juin 2007 à 15:53
Tu fais bien le test de performance en RELEASE pas en DEBUG ?
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 15:59
Merci aussi SharpMao et Lutinore!!


En fait la boucle ne sert à rien... Elle est là just pour que je puisse faire un teste de vitesse de calcul. On a codé cette même fonction en java, C# et VBA. Mon objectif était de vérifier que C# est un bon choix pour nos calculs, mais le pb est que le VBA et le java sont bcp plus rapides pour calculer la même fonction


Si je met 100 000 passages, C# continue médiocre par rapport à la perf

Otavio Reis
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 16:02
je fais le test en release

Otavio Reis
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 16:03
Bebah si on laisse comme ca, par rapport a ton bench dans le premier message et mes resultats, C# est meilleur (du moins pour les 1000 passages) (562 sans les tableaux sortis, 180 avec)

Mx
MVP C# 
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 16:04
En release et sans debuggage (CTRL+F5 dans Visual Studio)

Mx
MVP C# 
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 16:16
oui, mais si je sors le tableau des fonctions en java e vba, eux, ils vont être plus rapides aussi... si j'optimise un langage, il faut que je optimise les autres deux aussi... sinon je vais perdre les paramètres de comparaison. j'avais l'impression que C# serait plus rapide que java et que java serait plus rapide que VBA.

Otavio Reis
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 16:22
Sans 'optimisation', pour 1000 itérations, je suis a 568. Je peux pas dire que c'est meilleur que java ou VBA parce que j'ai pas testé sur ma machine (donc incohérent par rapport a tes chiffres). Mais ca reste quand meme bien plus bas que ce que toi tu trouves.

Mx
MVP C# 
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 juin 2007 à 16:37
327 dans la textbox7 sur le clique du bouton.
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 16:45
ok, je vous remercie à tous... je pense que le problème de performance vient de ma machine. Vous tous avez de résultats très satisfaisants...

Otavio Reis
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
12 juin 2007 à 16:46
C# plus lent que java? C'est une blague
Aucun langage ne peut être plus lent que java, c'est de loin le pire (à ce niveau) que j'ai pu utilisé jusqu'à aujourd'hui...
(il ne s'agit pas d'un troll mais de la réalité)








<hr />
-Blog-
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 17:29
une derniere question: si ça ne vous derange pas... Quels sont: le processeur et la mémoire que vous utilisez pour tourner le code.

Otavio Reis
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juin 2007 à 17:32
ADM 4200+, 2Go de Ram
Pour la ram, je suis pas sur que ce soit significatif. Sous vista, l'appli prend environ 3Mo (donc on dira 15 de plus pour une version anterieure de Windows)

Mx
MVP C# 
0
otavioreis Messages postés 82 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 4 mars 2008
12 juin 2007 à 17:41
merci!!!

Otavio Reis
0
Rejoignez-nous