aboutsummaryrefslogtreecommitdiff
path: root/pl/math/tools/v_erfc.sollya
diff options
context:
space:
mode:
Diffstat (limited to 'pl/math/tools/v_erfc.sollya')
-rw-r--r--pl/math/tools/v_erfc.sollya46
1 files changed, 0 insertions, 46 deletions
diff --git a/pl/math/tools/v_erfc.sollya b/pl/math/tools/v_erfc.sollya
deleted file mode 100644
index 3b03ba07863d..000000000000
--- a/pl/math/tools/v_erfc.sollya
+++ /dev/null
@@ -1,46 +0,0 @@
-// polynomial for approximating erfc(x)*exp(x*x)
-//
-// Copyright (c) 2022-2023, Arm Limited.
-// SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
-
-deg = 12; // poly degree
-
-itv = parse(__argv[0]);
-
-bounds = [|3.725290298461914e-9,
- 0.18920711500272103,
- 0.41421356237309515,
- 0.681792830507429,
- 1,
- 1.378414230005442,
- 1.8284271247461903,
- 2.363585661014858,
- 3,
- 3.756828460010884,
- 4.656854249492381,
- 5.727171322029716,
- 7,
- 8.513656920021768,
- 10.313708498984761,
- 12.454342644059432,
- 15,
- 18.027313840043536,
- 21.627416997969522,
- 25.908685288118864,
- 31|];
-
-a = bounds[itv];
-b = bounds[itv + 1];
-
-f = proc(y) {
- t = y + a;
- return erfc(t) * exp(t*t);
-};
-
-poly = fpminimax(f(x), deg, [|double ...|], [0;b-a]);
-
-display = hexadecimal;
-print("rel error:", accurateinfnorm(1-poly(x)/f(x), [a;b], 30));
-print("in [",a,b,"]");
-print("coeffs:");
-for i from 0 to deg do coeff(poly, i);