Hi Kashyap,
> (de batch (l s) # l: input list, s = batch size
> (let ts (* -1 s)
> (make
> (while (< 0 (length l))
> (link (head s l))
> (setq l (tail ts l))))))
>
> I'd love to get some feedback on this.
First I would suggest to stick with the convention of upper case local
variables, to avoid severe foot damage ;)
(de batch (L S) # L: input list, S = batch size
(let Ts (* -1 S)
(make
(while (< 0 (length L))
(link (head S L))
(setq L (tail Ts L)) ) ) ) )
Then a few improvements:
— Instead of (* -1 S) better use the unary minus (- S). It avoids a
multiplication and just sets a sign bit
— (while (< 0 (length L)) ..) is expensive, as it counts the length of the
list each time. Better use a simple (while L ..)
— 'head' and 'tail' can be replaced by 'cut'
With that, we get:
(de batch (L S) # L: input list, S = batch size
(make
(while L
(link (cut S 'L)) ) ) )
☺/ A!ex
--
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe