summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwukong <wukong@longaeva>2018-11-12 22:35:51 -0800
committerwukong <wukong@longaeva>2018-11-12 22:35:51 -0800
commit7ab9ca8f57c44e812d3c782209a9e600dc513fbc (patch)
tree6be3ffecc7887d2d3a80d20ec907f955686e08df
parenta8064e8a631ed4ff1655575fe60423353fbc2b82 (diff)
added optional precision argv to other scripts;
Diffstat (limited to '')
-rw-r--r--conv.awk3
-rw-r--r--fib.awk3
-rw-r--r--gaussian.awk3
-rw-r--r--hamming.awk12
-rw-r--r--lin_reg.awk2
-rw-r--r--pi.awk5
-rw-r--r--quad_reg.awk2
-rw-r--r--sterling_approx.awk3
8 files changed, 18 insertions, 15 deletions
diff --git a/conv.awk b/conv.awk
index 2248927..b7e48eb 100644
--- a/conv.awk
+++ b/conv.awk
@@ -4,7 +4,8 @@
# [PoC] linear convolution (with hardcoded IR window).
BEGIN {
- X = ARGV[1]
+ ARGV[1] ? X = ARGV[1] : X = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
input_size = split(X, X_arr)
#H = "1.0 1.0 1.0" # rect
#H = "0.25 0.50 0.25" # von Hann
diff --git a/fib.awk b/fib.awk
index d599caa..654921c 100644
--- a/fib.awk
+++ b/fib.awk
@@ -4,7 +4,8 @@
# fib sol'n from Hamming
BEGIN {
- n = ARGV[1]
+ ARGV[1] ? n = ARGV[1] : n = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
print (1/sqrt(5))*(0.5*(1 + sqrt(5)))^n - (1/sqrt(5))*(0.5*(1 - sqrt(5)))^n
}
diff --git a/gaussian.awk b/gaussian.awk
index ef81b68..48c3f9a 100644
--- a/gaussian.awk
+++ b/gaussian.awk
@@ -6,7 +6,8 @@
BEGIN {
- N = ARGV[1]
+ ARGV[1] ? N = ARGV[1] : N = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
M = 0.5*(N - 1)
# sigma <= 0.5
diff --git a/hamming.awk b/hamming.awk
index fd6d89c..f7ff9f7 100644
--- a/hamming.awk
+++ b/hamming.awk
@@ -7,14 +7,16 @@
BEGIN {
- ### R.W. Hamming, "Digital Filters"
- # H = "0.23 0.54 0.23"
+ ARGV[1] ? N = ARGV[1] : N = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
- N = ARGV[1]
# window interval goes from -M to M
M = 0.5*(N - 1)
pi = 4*atan2(1,1)
+ ### R.W. Hamming, "Digital Filters"
+ # H = "0.23 0.54 0.23"
+
a0 = (25.0/46.0)
a1 = (21.0/46.0)
@@ -29,10 +31,10 @@ BEGIN {
for (n=-M; n<=M; n++) {
if (N > 1 && M > 0) {
w[n] = a0 + a1*cos((pi*n)/M)
- print n, w[n]/M
+ print n + M, w[n]/M
}
else {
- print n, 1.0
+ print n + M, 1.0
}
}
diff --git a/lin_reg.awk b/lin_reg.awk
index 205c43f..aa94b0a 100644
--- a/lin_reg.awk
+++ b/lin_reg.awk
@@ -87,7 +87,7 @@ END {
for (x=1; x<=nf_max; x++) {
if (x != y && r[x,y]) {
printf(OFMT OFS "(%s)" OFS " = (" OFMT " +/- " OFMT ")(%s)" OFS " + (" OFMT " +/- " OFMT ")" ORS,
- 10.0*log(r[x,y]*r[x,y])/log(10.0),
+ (r[x,y]*r[x,y]),
header[y], b[x,y], b_err[x,y],
header[x], a[x,y], a_err[x,y])
}
diff --git a/pi.awk b/pi.awk
index cb476ac..69eb36e 100644
--- a/pi.awk
+++ b/pi.awk
@@ -16,7 +16,6 @@ function pi() {
}
BEGIN {
- (ARGV[1] > 0) ? fig = ARGV[1] : fig = 6
- str = "%." fig "g\n"
- printf(str, pi())
+ ARGV[1] ? OFMT = "%." ARGV[1] "g" : OFMT = "%g"
+ printf(OFMT ORS, pi())
}
diff --git a/quad_reg.awk b/quad_reg.awk
index ede06a4..a587a3a 100644
--- a/quad_reg.awk
+++ b/quad_reg.awk
@@ -118,7 +118,7 @@ END {
for (y=1; y<=nf_max; y++) {
if (x != y && r[x,y]) {
printf(OFMT OFS "(%s)" OFS " = (" OFMT ")(%s)^2" OFS " + (" OFMT ")(%s)" OFS " + (" OFMT ")",
- 10.0*log(r[x,y]*r[x,y])/log(10), header[y], c[x,y], header[x], b[x,y], header[x], a[x,y])
+ (r[x,y]*r[x,y]), header[y], c[x,y], header[x], b[x,y], header[x], a[x,y])
printf(" [" OFMT "," OFMT "][" OFMT "," OFMT "][" OFMT "," OFMT "]" OFS" [" OFMT "," OFMT "]",
rx0[x,y], (a[x,y] + b[x,y]*rx0[x,y] + c[x,y]*rx0[x,y]*rx0[x,y]),
rx1[x,y], (a[x,y] + b[x,y]*rx1[x,y] + c[x,y]*rx1[x,y]*rx1[x,y]),
diff --git a/sterling_approx.awk b/sterling_approx.awk
index aa0a748..cb5f563 100644
--- a/sterling_approx.awk
+++ b/sterling_approx.awk
@@ -18,8 +18,7 @@ function pwr(x, p) {
BEGIN {
ARGV[1] ? n = ARGV[1] : n = 0
- ARGV[2] ? prec = ARGV[2] : prec = ""
- prec ? OFMT = "%." prec "g" : OFMT = "%g"
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
pi = 4*atan2(1,1)
f = 0
if (n > 0) {