style(unitproc/../sleepRand.py):Move output spread adj to top
[BK-2020-03.git] / unitproc / python / sleepRand.py
index 76a32e10172aa696e911e11a068817a3fe9d6c33..3454d244359baddb01a24a7b3826e141f5978005 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 # Desc: Pauses a random amount of time. Random distribution is inverse gaussian.
-# Version: 0.0.1
+# Version: 0.0.3
 # Depends: python 3.7.3
 # Usage: ./sleepRand.py arg1
 # Input: arg1: float seconds (mean of inverse gaussian distribution)
@@ -8,9 +8,16 @@
 
 import math, time, random, sys
 
+# Adjustments
+lambdaFactor = 4; # spread factor; inversely proportional to variance
+
 # Define functions
 def randInvGau(mu, lam):
     """Returns random variate of inverse gaussian distribution"""
+    # input: mu:  mean of inverse gaussian distribution
+    #        lam: shape parameter
+    # output: float sampled from inv. gaus. with range 0 to infinity, mean mu
+    # example: sample = float(randInvGau(1.0,4.0));
     # Ref/Attrib: doi:10.1080/00031305.1976.10479147
     nu = random.gauss(0,1);
     y = nu ** 2;
@@ -28,9 +35,6 @@ def randInvGau(mu, lam):
 arg1 = float(sys.argv[1]); # first argument
 desMean = arg1;
 
-# Configure
-lambdaFactor = 4; # spread factor; inversely proportional to variance
-
 # Calculate delay
 delay = randInvGau(desMean, desMean * lambdaFactor);
 #print('DEBUG:delay:' + str(float(delay)));
@@ -38,4 +42,5 @@ delay = randInvGau(desMean, desMean * lambdaFactor);
 # Sleep
 time.sleep(float(delay));
 
-
+# Author: Steven Baltakatei Sandoal
+# License: GPLv3+