+static double context_get_average (ping_context_t *ctx) /* {{{ */
+{
+ double num_total;
+
+ if (ctx == NULL)
+ return (-1.0);
+
+ if (ctx->req_rcvd < 1)
+ return (-0.0);
+
+ num_total = (double) ctx->req_rcvd;
+ return (ctx->latency_total / num_total);
+} /* }}} double context_get_average */
+
+static double context_get_stddev (ping_context_t *ctx) /* {{{ */
+{
+ double num_total;
+
+ if (ctx == NULL)
+ return (-1.0);
+
+ if (ctx->req_rcvd < 1)
+ return (-0.0);
+ else if (ctx->req_rcvd < 2)
+ return (0.0);
+
+ num_total = (double) ctx->req_rcvd;
+ return (sqrt (((num_total * ctx->latency_total_square)
+ - (ctx->latency_total * ctx->latency_total))
+ / (num_total * (num_total - 1.0))));
+} /* }}} double context_get_stddev */
+