@@ -600,15 +600,15 @@ function array_subindex(v, idx) = [
600
600
// list_range(4); // Returns [0,1,2,3]
601
601
// list_range(n=4, step=2); // Returns [0,2,4,6]
602
602
// list_range(n=4, s=3, step=3); // Returns [3,6,9,12]
603
- // list_range(n=4 , s=3 , e=9, step=3 ); // Returns [3,6,9 ]
603
+ // list_range(n=5 , s=0 , e=10 ); // Returns [0, 2.5, 5, 7.5, 10 ]
604
604
// list_range(e=3); // Returns [0,1,2,3]
605
605
// list_range(e=6, step=2); // Returns [0,2,4,6]
606
606
// list_range(s=3, e=5); // Returns [3,4,5]
607
607
// list_range(s=3, e=8, step=2); // Returns [3,5,7]
608
608
// list_range(s=4, e=8, step=2); // Returns [4,6,8]
609
609
// list_range(n=4, s=[3,4], step=[2,3]); // Returns [[3,4], [5,7], [7,10], [9,13]]
610
610
function list_range(n= undef, s= 0 , e= undef, step= 1 ) =
611
- (n!= undef && e!= undef)? [for (i= [0 :n- 1 ]) let(v = s + step * i) if (v <= e) v ] :
611
+ (n!= undef && e!= undef)? [for (i= [0 :1 : n- 1 ]) s + (e - s) * i/(n - 1 ) ] :
612
612
(n!= undef)? [for (i= [0 :n- 1 ]) let(v= s+ step* i) v] :
613
613
(e!= undef)? [for (v= [s:step:e]) v] :
614
614
assertion(false , "Must supply one of `n` or `e`." );
0 commit comments