sequences: integer length for repetition, use English.
							parent
							
								
									8d4d0d356f
								
							
						
					
					
						commit
						fb688cc08b
					
				|  | @ -261,13 +261,15 @@ M: slice length [ to>> ] [ from>> ] bi - ; inline | ||||||
| INSTANCE: slice virtual-sequence | INSTANCE: slice virtual-sequence | ||||||
| 
 | 
 | ||||||
| ! One element repeated many times | ! One element repeated many times | ||||||
| TUPLE: repetition { len read-only } { elt read-only } ; | TUPLE: repetition | ||||||
|  |     { length integer read-only } | ||||||
|  |     { elt read-only } ; | ||||||
| 
 | 
 | ||||||
| : <repetition> ( len elt -- repetition ) | : <repetition> ( len elt -- repetition ) | ||||||
|     over 0 < [ non-negative-integer-expected ] when |     over 0 < [ non-negative-integer-expected ] when | ||||||
|     repetition boa ; inline |     repetition boa ; inline | ||||||
| 
 | 
 | ||||||
| M: repetition length len>> ; inline | M: repetition length length>> ; inline | ||||||
| M: repetition nth-unsafe nip elt>> ; inline | M: repetition nth-unsafe nip elt>> ; inline | ||||||
| 
 | 
 | ||||||
| INSTANCE: repetition immutable-sequence | INSTANCE: repetition immutable-sequence | ||||||
|  | @ -841,7 +843,7 @@ M: object sum-lengths | ||||||
|     0 [ length + ] reduce ; |     0 [ length + ] reduce ; | ||||||
| 
 | 
 | ||||||
| M: repetition sum-lengths | M: repetition sum-lengths | ||||||
|     [ len>> ] [ elt>> length ] bi * ; |     [ length>> ] [ elt>> length ] bi * ; | ||||||
| 
 | 
 | ||||||
| : concat-as ( seq exemplar -- newseq ) | : concat-as ( seq exemplar -- newseq ) | ||||||
|     [ |     [ | ||||||
|  | @ -1038,7 +1040,7 @@ PRIVATE> | ||||||
| GENERIC: sum ( seq -- n ) | GENERIC: sum ( seq -- n ) | ||||||
| M: object sum 0 [ + ] binary-reduce ; inline | M: object sum 0 [ + ] binary-reduce ; inline | ||||||
| M: iota-tuple sum length dup 1 - * 2/ ; inline | M: iota-tuple sum length dup 1 - * 2/ ; inline | ||||||
| M: repetition sum [ elt>> ] [ len>> ] bi * ; inline | M: repetition sum [ elt>> ] [ length>> ] bi * ; inline | ||||||
| 
 | 
 | ||||||
| : product ( seq -- n ) 1 [ * ] binary-reduce ; | : product ( seq -- n ) 1 [ * ] binary-reduce ; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue