Comment calculer la somme de deux distributions normales

J'ai un type de valeur qui représente une distribution gaussienne:

struct Gauss {
    double mean;
    double variance;
}

Je voudrais effectuer une intégrale sur une série de ces valeurs:

Gauss eulerIntegrate(double dt, Gauss iv, Gauss[] values) {
    Gauss r = iv;
    foreach (Gauss v in values) {
        r += v*dt;
    }
    return r;
}

Ma question est comment mettre en œuvre plus de ces distributions.

La multiplication par un scalaire (dt) semblait assez simple. Mais il n'était pas simple! Grâce FOOSHNICK pour l'aide:

public static Gauss operator * (Gauss g, double d) {
    return new Gauss(g.mean * d, g.variance * d * d);
}

Cependant, outre m'échappe. Je suppose que je peux juste ajouter que le moyen; c'est la variance qui me causer des ennuis. L'une de ces définitions semble "logique" pour moi.

public static Gauss operator + (Gauss a, Gauss b) {
    double mean = a.mean + b.mean;
    //Is it this? (Yes, it is!)
    return new Gauss(mean, a.variance + b.variance);        
    //Or this? (nope)
    //return new Gauss(mean, Math.Max(a.variance, b.variance));
    //Or how about this? (nope)
    //return new Gauss(mean, (a.variance + b.variance)/2);
}

Quelqu'un peut-il vous aider à définir statistiquement correct - ou au moins "raisonnable" - version du + opérateur?

Je suppose que je peux passer le code à utiliser l'arithmétique d'intervalle, à la place, mais j'espérais rester dans le monde de prob et les statistiques.