summaryrefslogtreecommitdiffhomepage
path: root/test/nxt_exp_approximation.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/nxt_exp_approximation.c')
-rw-r--r--test/nxt_exp_approximation.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/test/nxt_exp_approximation.c b/test/nxt_exp_approximation.c
deleted file mode 100644
index 1f79c068..00000000
--- a/test/nxt_exp_approximation.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-/*
- * Copyright (C) Igor Sysoev
- * Copyright (C) NGINX, Inc.
- */
-
-#include <nxt_main.h>
-#include <math.h>
-
-
-nxt_int_t
-nxt_exp_approximation(nxt_thread_t *thr)
-{
- double n, e0, e1, diff;
- nxt_nsec_t start, end;
-
- nxt_thread_time_update(thr);
- nxt_log_error(NXT_LOG_NOTICE, thr->log,
- "exp approximation unit test started");
-
- for (n = 0.0; n > -20.0; n -= 0.00001) {
-
- e0 = nxt_event_conn_exponential_approximation(n);
- e1 = exp(n);
-
- diff = fabs(e0 - e1);
-
- /* 0.028993 is max difference with libm exp(). */
- if (diff > 0.028993) {
- nxt_log_alert(thr->log,
- "exp approximation unit test failed: %0.6f %0.6f",
- n, diff);
- return NXT_ERROR;
- }
- }
-
-
- nxt_thread_time_update(thr);
- start = nxt_thread_monotonic_time(thr);
-
- e0 = 0;
- for (n = 0.0; n > -20.0; n -= 0.00001) {
- e0 += nxt_event_conn_exponential_approximation(n);
- }
-
- nxt_thread_time_update(thr);
- end = nxt_thread_monotonic_time(thr);
-
- /* e0 is passed but not output to eliminate optimization. */
- nxt_log_error(NXT_LOG_NOTICE, thr->log, "exp approximation: %0.1fns",
- (end - start) / 20000000.0, e0);
-
-
- nxt_thread_time_update(thr);
- start = nxt_thread_monotonic_time(thr);
-
- e0 = 0;
- for (n = 0.0; n > -20.0; n -= 0.000001) {
- e0 += exp(n);
- }
-
- nxt_thread_time_update(thr);
- end = nxt_thread_monotonic_time(thr);
-
- /* e0 is passed but not output to eliminate optimization. */
- nxt_log_error(NXT_LOG_NOTICE, thr->log, "libm exp(): %0.1fns",
- (end - start) / 20000000.0, e0);
-
- nxt_log_error(NXT_LOG_NOTICE, thr->log,
- "exp approximation unit test passed");
- return NXT_OK;
-}