Performance Examples
Setup
julia
using PrettyChairmarks
using SatcomCoordinates
uv = rand(UV())
# We change_crs from UV instead of doing all rand to avoid error for the limited domain of UV
tp = change_crs(ThetaPhi(), uv)
el_az = change_crs(ElOverAz(), uv)
az_el = change_crs(AzOverEl(), uv)
pv = change_crs(DirectionCosines(), uv)
Pointing{DirectionCosines}(0.591388418188408, 0.6454879857754637, 0.48332701047235843)
Construction
UV
julia
@bs Tuple(rand(2)./10) UV(_...)
Chairmarks.Benchmark: 3525 samples with 2767 evaluations.
Range (min … max): 9.562 ns … 18.079 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 9.573 ns ┊ GC (median): 0.00%
Time (mean ± σ): 9.665 ns ± 0.488 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▃▄▁▁█▁▁▁▁▁▁▃▄▅▁▁▁▁▃▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▆▇▇▇ █
9.56 ns Histogram: log(frequency) by time 12.2 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
ThetaPhi
julia
@bs Tuple(rand(2)) ThetaPhi(_...)
Chairmarks.Benchmark: 3512 samples with 2881 evaluations.
Range (min … max): 9.250 ns … 34.988 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 9.261 ns ┊ GC (median): 0.00%
Time (mean ± σ): 9.353 ns ± 0.648 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▁▁▁▁▅▁▁▁▁▁▁▃▃▄▄▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅▆█▇ █
9.25 ns Histogram: log(frequency) by time 11.8 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
ElOverAz
julia
@bs Tuple(rand(2)) ElOverAz(_...)
Chairmarks.Benchmark: 3498 samples with 2892 evaluations.
Range (min … max): 9.253 ns … 18.714 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 9.260 ns ┊ GC (median): 0.00%
Time (mean ± σ): 9.373 ns ± 0.636 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▃▁▁▁▆▇▁▄▁▁▁▁▄▄▄▃▃▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▃▄▇▇▇▆▅▅ █
9.25 ns Histogram: log(frequency) by time 11.9 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
AzOverEl
julia
@bs Tuple(rand(2)) AzOverEl(_...)
Chairmarks.Benchmark: 3487 samples with 2809 evaluations.
Range (min … max): 9.562 ns … 16.161 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 9.570 ns ┊ GC (median): 0.00%
Time (mean ± σ): 9.656 ns ± 0.460 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▁▁▁▁▇▁▁▁▁▃▃▃▅▃▃▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅▇▇▆ █
9.56 ns Histogram: log(frequency) by time 12.2 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
DirectionCosines
julia
@bs Tuple(rand(3)) DirectionCosines(_...)
Chairmarks.Benchmark: 3518 samples with 3376 evaluations.
Range (min … max): 7.713 ns … 14.681 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.765 ns ┊ GC (median): 0.00%
Time (mean ± σ): 7.933 ns ± 0.437 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█▃▃▂▃▂▂▃▆▆ ▁
██████████▆▃▁▅▅▄▁▄▄▁▃▃▃▁▄▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▇▆▆▇▇▅▅ █
7.71 ns Histogram: log(frequency) by time 10.1 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
ECEF
julia
@bs Tuple(rand(3)) ECEF(_...)
Chairmarks.Benchmark: 4173 samples with 7300 evaluations.
Range (min … max): 3.082 ns … 7.702 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.087 ns ┊ GC (median): 0.00%
Time (mean ± σ): 3.115 ns ± 0.179 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▁▁▁▁▆▁▁▁▁▁▁▁▄▄▁▃▁▃▃▁▃▁▁▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇▇ █
3.08 ns Histogram: log(frequency) by time 4.08 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
ECI
julia
@bs Tuple(rand(3)) ECI(_...)
Chairmarks.Benchmark: 4205 samples with 7251 evaluations.
Range (min … max): 3.082 ns … 7.791 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.087 ns ┊ GC (median): 0.00%
Time (mean ± σ): 3.114 ns ± 0.173 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▃▁▃▁▇▁▁▁▁▁▁▃▃▃▄▃▄▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇▇ █
3.08 ns Histogram: log(frequency) by time 4.08 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
LLA
julia
@bs Tuple(rand(3)) LLA(_...)
Chairmarks.Benchmark: 3612 samples with 3654 evaluations.
Range (min … max): 7.093 ns … 14.510 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 7.101 ns ┊ GC (median): 0.00%
Time (mean ± σ): 7.171 ns ± 0.395 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▃▁▁▃▁█▁▁▁▁▁▁▄▄▄▃▁▁▃▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄▇▇▇ █
7.09 ns Histogram: log(frequency) by time 9.12 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
Conversions
From DirectionCosines
julia
@bs change_crs(UV(), $pv)
Chairmarks.Benchmark: 4059 samples with 6304 evaluations.
Range (min … max): 3.700 ns … 7.323 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.705 ns ┊ GC (median): 0.00%
Time (mean ± σ): 3.743 ns ± 0.212 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▅▁▁▁▃█▁▁▁▁▁▁▃▅▁▁▃▁▁▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▄▁▁▁▁▁▁▁▁▁▃▁▁▁▄▆▇▇▇ █
3.7 ns Histogram: log(frequency) by time 4.86 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ThetaPhi(), $pv)
Chairmarks.Benchmark: 3266 samples with 1188 evaluations.
Range (min … max): 23.757 ns … 41.965 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 24.027 ns ┊ GC (median): 0.00%
Time (mean ± σ): 24.280 ns ± 1.253 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▇█▆▃ ▁
▇████▇▆▆█▇▃▆▅▁▁▄▅▃▃▃▃▁▁▁▁▃▃▁▁▁▁▁▁▁▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅▇▇█▇ █
23.8 ns Histogram: log(frequency) by time 30.3 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ElOverAz(), $pv)
Chairmarks.Benchmark: 3266 samples with 1085 evaluations.
Range (min … max): 26.141 ns … 71.554 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 26.391 ns ┊ GC (median): 0.00%
Time (mean ± σ): 26.598 ns ± 1.524 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█▆█▆▂ ▁
███████▆▇▅▄▃▄▁▁▆▃▃▄▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄█▇█▆ █
26.1 ns Histogram: log(frequency) by time 33.1 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(AzOverEl(), $pv)
Chairmarks.Benchmark: 3267 samples with 1239 evaluations.
Range (min … max): 22.827 ns … 37.447 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 22.973 ns ┊ GC (median): 0.00%
Time (mean ± σ): 23.200 ns ± 1.143 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▆█▄▃
████▇▁▅██▇▅▁▄▄▅▅▄▃▃▃▄▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▄▇█▇▇ █
22.8 ns Histogram: log(frequency) by time 28.9 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
from UV
julia
@bs change_crs(ThetaPhi(), $uv)
Chairmarks.Benchmark: 3239 samples with 988 evaluations.
Range (min … max): 28.707 ns … 48.512 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 29.022 ns ┊ GC (median): 0.00%
Time (mean ± σ): 29.293 ns ± 1.465 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▆██▇▃▁▁▂ ▁
████████▆▅▃▃▄▆▄▄▃▃▃▁▄▃▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅█▇▇█ █
28.7 ns Histogram: log(frequency) by time 36.6 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ElOverAz(), $uv)
Chairmarks.Benchmark: 3231 samples with 901 evaluations.
Range (min … max): 31.635 ns … 53.196 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 31.980 ns ┊ GC (median): 0.00%
Time (mean ± σ): 32.331 ns ± 1.680 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▂▇█▆▄ ▂▁ ▁
██████▇██▇▆▄▁▅▃▃▄▅▃▁▃▁▁▄▃▁▁▁▁▃▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅▆██▇▆ █
31.6 ns Histogram: log(frequency) by time 40.4 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(AzOverEl(), $uv)
Chairmarks.Benchmark: 3234 samples with 959 evaluations.
Range (min … max): 29.858 ns … 81.414 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 29.962 ns ┊ GC (median): 0.00%
Time (mean ± σ): 30.249 ns ± 1.696 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█▄
██▆▇▄███▄▄▃▁▁▅▄▄▄▃▁▁▁▁▁▁▃▁▃▁▃▁▁▁▁▁▁▁▃▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▅▇▇█▆ █
29.9 ns Histogram: log(frequency) by time 37.7 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(DirectionCosines(), $uv)
Chairmarks.Benchmark: 4233 samples with 7255 evaluations.
Range (min … max): 3.084 ns … 7.227 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 3.087 ns ┊ GC (median): 0.00%
Time (mean ± σ): 3.122 ns ± 0.199 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█
█▁▁▁▁▃▄▁▁▃▁▁▁▃▅▄▃▃▁▁▃▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▃▁▁▁▁▁▅▆▇▇▇▅ █
3.08 ns Histogram: log(frequency) by time 4.12 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
from ThetaPhi
julia
@bs change_crs(UV(), $tp)
Chairmarks.Benchmark: 3278 samples with 1242 evaluations.
Range (min … max): 22.676 ns … 52.232 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 22.901 ns ┊ GC (median): 0.00%
Time (mean ± σ): 23.141 ns ± 1.220 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▂██▅▆▂ ▁
██████▆▇▆▃▃▃▃▃▃▃▅▄▃▃▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▄▆▇█▇▇ █
22.7 ns Histogram: log(frequency) by time 29 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ElOverAz(), $tp)
Chairmarks.Benchmark: 3165 samples with 443 evaluations.
Range (min … max): 65.404 ns … 122.056 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 66.242 ns ┊ GC (median): 0.00%
Time (mean ± σ): 66.772 ns ± 3.209 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▇█▇▁ ▁
▆████▁▁▁▅▃▁▁▁▁▁▁▅▄▁▄▄▁▁▁▃▁▃▁▁▁▁▁▁▁▁▁▁▁▃▁▃▁▁▁▁▁▁▁▃▁▁▁▁▁▃▅█▇▇█ █
65.4 ns Histogram: log(frequency) by time 82.8 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(AzOverEl(), $tp)
Chairmarks.Benchmark: 3174 samples with 513 evaluations.
Range (min … max): 56.226 ns … 129.698 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 56.871 ns ┊ GC (median): 0.00%
Time (mean ± σ): 57.471 ns ± 3.395 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▂▃█▄
████▃▁▃▄▅▃▁▁▁▁▃▄▃▃▁▃▄▃▁▁▃▁▃▄▃▃▄▁▃▃▁▃▁▁▁▃▁▃▁▁▃▁▁▃▁▃▄▆▆▇▇▇▄▅▄▄ █
56.2 ns Histogram: log(frequency) by time 72.5 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(DirectionCosines(), $tp)
Chairmarks.Benchmark: 3267 samples with 1311 evaluations.
Range (min … max): 21.452 ns … 47.671 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 21.811 ns ┊ GC (median): 0.00%
Time (mean ± σ): 22.063 ns ± 1.241 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▁▃▃█▁▄▃▄
████████▆▇▄▅▃▁▁▄▄▅▄▃▁▄▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▅▆▆▇▇▇▆ █
21.5 ns Histogram: log(frequency) by time 27.6 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
from ElOverAz
julia
@bs change_crs(UV(), $el_az)
Chairmarks.Benchmark: 3284 samples with 1321 evaluations.
Range (min … max): 21.129 ns … 43.609 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 21.759 ns ┊ GC (median): 0.00%
Time (mean ± σ): 21.912 ns ± 1.217 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▅▃▄▆▆▆▅█▁ ▁
█████████▆▇▃▆▆▄▆█▄▅▄▁▁▁▁▃▁▃▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▆▆▇▇▆▇▇ █
21.1 ns Histogram: log(frequency) by time 27.4 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ThetaPhi(), $el_az)
Chairmarks.Benchmark: 3178 samples with 526 evaluations.
Range (min … max): 54.302 ns … 248.432 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 54.665 ns ┊ GC (median): 0.00%
Time (mean ± σ): 56.094 ns ± 9.444 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
██▃ ▁ ▂ ▁
███▃▆▅▅▁███▅▄▃▁▁▁▁▁▁▁▁▃▃▃▁▄▄▁▁▃▃▁▃▃▁▁▅▇██▆▅▄▅▄▁▆▁▅▁▁▄▁▄▃▄▃▁▃ █
54.3 ns Histogram: log(frequency) by time 75.3 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(AzOverEl(), $el_az)
Chairmarks.Benchmark: 3148 samples with 574 evaluations.
Range (min … max): 49.692 ns … 231.357 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 50.828 ns ┊ GC (median): 0.00%
Time (mean ± σ): 51.935 ns ± 8.282 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█▅███▄ ▁
██████▃▆▁▃▅▅▃█▄▃▁▁▃▃▅▁▃▄▁▁▁▃▃▁▃▁▃▅▇▇███▇▆▃▃▁▅▃▃▅▅▅▁▁▁▄▁▁▁▅▃▅ █
49.7 ns Histogram: log(frequency) by time 71.6 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(DirectionCosines(), $el_az)
Chairmarks.Benchmark: 3384 samples with 1736 evaluations.
Range (min … max): 16.044 ns … 36.428 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 16.096 ns ┊ GC (median): 0.00%
Time (mean ± σ): 16.256 ns ± 0.947 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
█▆▂
███▇▆▅▅▄▄▁▁▁▁▃▃▄▅▄▃▃▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▃▁▁▁▁▁▁▄▅▆█▇▆ █
16 ns Histogram: log(frequency) by time 20.4 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
from AzOverEl
julia
@bs change_crs(UV(), $az_el)
Chairmarks.Benchmark: 3314 samples with 1308 evaluations.
Range (min … max): 21.218 ns … 39.715 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 21.608 ns ┊ GC (median): 0.00%
Time (mean ± σ): 21.821 ns ± 1.106 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▆█▇▅▂ ▁
▆▆███████▃▆▄▄▅▃▄▄▃▅▄▅▅▃▃▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▅▇▇█▇ █
21.2 ns Histogram: log(frequency) by time 27.3 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ThetaPhi(), $az_el)
Chairmarks.Benchmark: 3170 samples with 498 evaluations.
Range (min … max): 58.120 ns … 93.671 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 58.926 ns ┊ GC (median): 0.00%
Time (mean ± σ): 59.373 ns ± 2.829 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▁▇▇█ ▁
████▁▁▁▁▁▁▁▁▁▁▁▃▅▄▄▁▃▃▁▃▁▃▁▃▁▁▁▁▃▁▃▁▁▁▁▁▁▁▁▁▃▄▁▁▁▁▁▁▃▄▄▆███ █
58.1 ns Histogram: log(frequency) by time 73.7 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(ElOverAz(), $az_el)
Chairmarks.Benchmark: 3173 samples with 512 evaluations.
Range (min … max): 56.160 ns … 101.225 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 57.256 ns ┊ GC (median): 0.00%
Time (mean ± σ): 57.754 ns ± 2.786 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▁▅▆█▅▂▂ ▁
▇███████▇▅▁▁▁▁▁▃▅▃▅▅▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▆▇▇██ █
56.2 ns Histogram: log(frequency) by time 71.7 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
julia
@bs change_crs(DirectionCosines(), $az_el)
Chairmarks.Benchmark: 3370 samples with 1731 evaluations.
Range (min … max): 16.044 ns … 29.727 ns ┊ GC (min … max): 0.00% … 0.00%
Time (median): 16.206 ns ┊ GC (median): 0.00%
Time (mean ± σ): 16.353 ns ± 0.846 ns ┊ GC (mean ± σ): 0.00% ± 0.00%
▆▆█▅▂ ▁
██████▇▆█▅▄▁▁▁▄▅▅▃▃▃▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▅▅▇▇▇▇ █
16 ns Histogram: log(frequency) by time 20.5 ns <
Memory estimate: 0.0 bytes, allocs estimate: 0.
Utilities
get_angular_distance
@example
@bs Tuple(rand(ThetaPhi, 2)) get_angular_distance(_...)
@example
@bs Tuple(rand(UV, 2)) get_angular_distance(_...)
@example
@bs Tuple(rand(ElOverAz, 2)) get_angular_distance(_...)
@example
@bs Tuple(rand(AzOverEl, 2)) get_angular_distance(_...)
@example
@bs Tuple(rand(DirectionCosines, 2)) get_angular_distance(_...)
get_angular_offset
@example
@bs Tuple(rand(ThetaPhi, 2)) get_angular_offset(_...)
@example
@bs Tuple(rand(UV, 2)) get_angular_offset(_...)
@example
@bs Tuple(rand(ElOverAz, 2)) get_angular_offset(_...)
@example
@bs Tuple(rand(AzOverEl, 2)) get_angular_offset(_...)
@example
@bs Tuple(rand(DirectionCosines, 2)) get_angular_offset(_...)
add_angular_offset
@example
# We need to make sure we don't have a resulting target in -z axis hemisphere
@bs (UV(-rand(), 0), ThetaPhi(rand() * 90°, 0)) add_angular_offset(_...)
@example
@bs (rand(ThetaPhi), rand(ThetaPhi)) add_angular_offset(_...)
@example
@bs (rand(ElOverAz), rand(ThetaPhi)) add_angular_offset(_...)
@example
@bs (rand(AzOverEl), rand(ThetaPhi)) add_angular_offset(_...)
@example
@bs (rand(DirectionCosines), rand(ThetaPhi)) add_angular_offset(_...)