Index: /issm/trunk-jpl/src/c/shared/Random/randomgenerator.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Random/randomgenerator.cpp	(revision 26618)
+++ /issm/trunk-jpl/src/c/shared/Random/randomgenerator.cpp	(revision 26619)
@@ -189,3 +189,29 @@
   /*}}}*/
 
+  /* Student-t distribution */
+
+  student_t_distribution::student_t_distribution(){/*{{{*/
+      k  = 1;
+      return;
+  }
+  /*}}}*/
+
+  student_t_distribution::student_t_distribution(unsigned int dof){/*{{{*/
+      k   = dof;
+      return;
+  }
+  /*}}}*/
+
+  student_t_distribution::~student_t_distribution(){}
+
+  double student_t_distribution::generator(rnd::linear_congruential_engine random_engine){/*{{{*/
+
+      rnd::normal_distribution	normal_distribution;
+      rnd::chi_squared_distribution	chi_squared_distribution(k);
+
+      return normal_distribution.generator(random_engine)/sqrt(chi_squared_distribution.generator(random_engine)/k);
+
+  }
+  /*}}}*/
+
 }
Index: /issm/trunk-jpl/src/c/shared/Random/randomgenerator.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Random/randomgenerator.h	(revision 26618)
+++ /issm/trunk-jpl/src/c/shared/Random/randomgenerator.h	(revision 26619)
@@ -120,4 +120,21 @@
   };
 
+  class student_t_distribution
+  {
+
+    private:
+      unsigned int k;
+
+    public:
+
+      /*constructors, destructors: */
+      student_t_distribution();
+      student_t_distribution(unsigned int k);
+      ~student_t_distribution();
+
+      double generator(rnd::linear_congruential_engine random_engine);
+
+  };
+
 
 }
