Skip to content

Commit

Permalink
roll, tile, run stats
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffreySarnoff committed Jun 19, 2023
1 parent afcd226 commit 37457e7
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 63 deletions.
38 changes: 17 additions & 21 deletions src/roll/roll_stats.jl
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:rollmin, :vminimum), (:rollmax, :vmaximum),
(:rollextrema, :vextrema),
(:rollmean, :vmean), (:rollsum, :vsum),
(:rollvar, :vvar), (:rollstd, :vstd))
@eval begin
$R(width::Integer, data::V; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}} =
rolling($F, width, data; padding, atend)
$R(width::Integer, data::V, weights::W; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}, W<:AbstractWeights} =
rolling($F, width, data, weights; padding, atend)
end
for (R, F) in ((:rollmin, :vminimum), (:rollmax, :vmaximum),
(:rollextrema, :vextrema),
(:rollmean, :vmean), (:rollsum, :vsum),
(:rollvar, :vvar), (:rollstd, :vstd))
@eval begin
$R(width::Integer, data; padding=nopadding, atend=false) =
rolling($F, width, data; padding, atend)
$R(width::Integer, data, weights; padding=nopadding, atend=false) =
rolling($F, width, data, weights; padding, atend)
end
end

for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:rollcor, :vcor), (:rollcov, :vcov))
@eval begin
$R(width::Integer, data1::V, data2::V; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1}} =
rolling($F, width, data1, data2; padding, atend)
$R(width::Integer, data1::V, data2::V, weights::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
rolling($F, width, data1, data2, weights, weights; padding, atend)
$R(width::Integer, data1::V, data2::V, weights1::W, weights2::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
rolling($F, width, data1, data2, weights1, weights2; padding, atend)
end
for (R, F) in ((:rollcor, :vcor), (:rollcov, :vcov))
@eval begin
$R(width::Integer, data1, data2; padding=nopadding, atend=false) =
rolling($F, width, data1, data2; padding, atend)
$R(width::Integer, data1, data2, weights; padding=nopadding, atend=false) =
rolling($F, width, data1, data2, weights, weights; padding, atend)
$R(width::Integer, data1, data2, weights1, weights2; padding=nopadding, atend=false) =
rolling($F, width, data1, data2, weights1, weights2; padding, atend)
end
end
38 changes: 17 additions & 21 deletions src/run/run_stats.jl
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:runmin, :vminimum), (:runmax, :vmaximum),
(:runextrema, :vextrema),
(:runmean, :vmean), (:runsum, :vsum),
(:runvar, :vvar), (:runstd, :vstd))
@eval begin
$R(width::Integer, data::V; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}} =
running($F, width, data; padding, atend)
$R(width::Integer, data::V, weights::W; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}, W<:AbstractWeights} =
running($F, width, data, weights; padding, atend)
end
for (R, F) in ( (:runmin, :vminimum), (:runmax, :vmaximum),
(:runextrema, :vextrema),
(:runmean, :vmean), (:runsum, :vsum),
(:runvar, :vvar), (:runstd, :vstd) )
@eval begin
$R(width::Integer, data) =
running($F, width, data)
$R(width::Integer, data, weights) =
running($F, width, data, weights)
end
end

for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:runcor, :vcor), (:runcov, :vcov))
@eval begin
$R(width::Integer, data1::V, data2::V; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1}} =
running($F, width, data1, data2; padding, atend)
$R(width::Integer, data1::V, data2::V, weights::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
running($F, width, data1, data2, weights, weights; padding, atend)
$R(width::Integer, data1::V, data2::V, weights1::W, weights2::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
running($F, width, data1, data2, weights1, weights2; padding, atend)
end
for (R, F) in ((:runcor, :vcor), (:runcov, :vcov))
@eval begin
$R(width::Integer, data1, data2) =
running($F, width, data1, data2)
$R(width::Integer, data1, data2, weights) =
running($F, width, data1, data2, weights, weights)
$R(width::Integer, data1, data2, weights1, weights2) =
running($F, width, data1, data2, weights1, weights2)
end
end
38 changes: 17 additions & 21 deletions src/tile/tile_stats.jl
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:tilemin, :vminimum), (:tilemax, :vmaximum),
(:tileextrema, :vextrema),
(:tilemean, :vmean), (:tilesum, :vsum),
(:tilevar, :vvar), (:tilestd, :vstd))
@eval begin
$R(width::Integer, data::V; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}} =
tiling($F, width, data; padding, atend)
$R(width::Integer, data::V, weights::W; padding=nopadding, atend=false) where {T, V<:AbstractVector{$T1}, W<:AbstractWeights} =
tiling($F, width, data, weights; padding, atend)
end
for (R, F) in ((:tilemin, :vminimum), (:tilemax, :vmaximum),
(:tileextrema, :vextrema),
(:tilemean, :vmean), (:tilesum, :vsum),
(:tilevar, :vvar), (:tilestd, :vstd))
@eval begin
$R(width::Integer, data; padding=nopadding, atend=false) =
tiling($F, width, data; padding, atend)
$R(width::Integer, data, weights; padding=nopadding, atend=false) =
tiling($F, width, data, weights; padding, atend)
end
end

for T1 in (:T, :(Union{Missing,T}))
for (R, F) in ((:tilecor, :vcor), (:tilecov, :vcov))
@eval begin
$R(width::Integer, data1::V, data2::V; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1}} =
tiling($F, width, data1, data2; padding, atend)
$R(width::Integer, data1::V, data2::V, weights::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
tiling($F, width, data1, data2, weights, weights; padding, atend)
$R(width::Integer, data1::V, data2::V, weights1::W, weights2::W; padding=nopadding, atend=false) where {T,V<:AbstractVector{$T1},W<:AbstractWeights} =
tiling($F, width, data1, data2, weights1, weights2; padding, atend)
end
for (R, F) in ((:tilecor, :vcor), (:tilecov, :vcov))
@eval begin
$R(width::Integer, data1, data2; padding=nopadding, atend=false) =
tiling($F, width, data1, data2; padding, atend)
$R(width::Integer, data1, data2, weights; padding=nopadding, atend=false) =
tiling($F, width, data1, data2, weights, weights; padding, atend)
$R(width::Integer, data1, data2, weights1, weights2; padding=nopadding, atend=false) =
tiling($F, width, data1, data2, weights1, weights2; padding, atend)
end
end

0 comments on commit 37457e7

Please sign in to comment.