Add all the A tasks
This commit is contained in:
parent
2dd7375f96
commit
051504d65b
1608 changed files with 18584 additions and 0 deletions
|
|
@ -0,0 +1,18 @@
|
|||
MsgBox % MovingAverage(5,3) ; 5, averaging length <- 3
|
||||
MsgBox % MovingAverage(1) ; 3
|
||||
MsgBox % MovingAverage(-3) ; 1
|
||||
MsgBox % MovingAverage(8) ; 2
|
||||
MsgBox % MovingAverage(7) ; 4
|
||||
|
||||
MovingAverage(x,len="") { ; for integers (faster)
|
||||
Static
|
||||
Static sum:=0, n:=0, m:=10 ; default averaging length = 10
|
||||
If (len>"") ; non-blank 2nd parameter: set length, reset
|
||||
sum := n := i := 0, m := len
|
||||
If (n < m) ; until the buffer is not full
|
||||
sum += x, n++ ; keep summing data
|
||||
Else ; when buffer is full
|
||||
sum += x-v%i% ; add new, subtract oldest
|
||||
v%i% := x, i := mod(i+1,m) ; remember last m inputs, cycle insertion point
|
||||
Return sum/n
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
MovingAverage(x,len="") { ; for floating point numbers
|
||||
Static
|
||||
Static n:=0, m:=10 ; default averaging length = 10
|
||||
If (len>"") ; non-blank 2nd parameter: set length, reset
|
||||
n := i := 0, m := len
|
||||
n += n < m, sum := 0
|
||||
v%i% := x, i := mod(i+1,m) ; remember last m inputs, cycle insertion point
|
||||
Loop %n% ; recompute sum to avoid error accumulation
|
||||
j := A_Index-1, sum += v%j%
|
||||
Return sum/n
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue