@@ -854,21 +854,30 @@ Optionally a random number generator `rng` to be used can be specified. An optio
854
854
855
855
"""
856
856
Random. rand (M:: AbstractManifold )
857
+
857
858
function Random. rand (M:: AbstractManifold , d:: Integer ; kwargs... )
858
859
return [rand (M; kwargs... ) for _ in 1 : d]
859
860
end
860
861
function Random. rand (rng:: AbstractRNG , M:: AbstractManifold , d:: Integer ; kwargs... )
861
862
return [rand (rng, M; kwargs... ) for _ in 1 : d]
862
863
end
863
- function Random. rand (M:: AbstractManifold ; kwargs... )
864
- p = allocate_result (M, rand)
865
- rand! (M, p; kwargs... )
866
- return p
864
+ function Random. rand (M:: AbstractManifold ; vector_at = nothing , kwargs... )
865
+ if vector_at === nothing
866
+ pX = allocate_result (M, rand)
867
+ else
868
+ pX = allocate_result (M, rand, vector_at)
869
+ end
870
+ rand! (M, pX; vector_at = vector_at, kwargs... )
871
+ return pX
867
872
end
868
- function Random. rand (rng:: AbstractRNG , M:: AbstractManifold ; kwargs... )
869
- p = allocate_result (M, rand)
870
- rand! (rng, M, p; kwargs... )
871
- return p
873
+ function Random. rand (rng:: AbstractRNG , M:: AbstractManifold ; vector_at = nothing , kwargs... )
874
+ if vector_at === nothing
875
+ pX = allocate_result (M, rand)
876
+ else
877
+ pX = allocate_result (M, rand, vector_at)
878
+ end
879
+ rand! (rng, M, pX; vector_at = vector_at, kwargs... )
880
+ return pX
872
881
end
873
882
874
883
@doc raw """
0 commit comments