• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Breaking/Splitting the list with certain number of elem...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 144
  • Views 3994
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Breaking/Splitting the list with certain number of elements

Saikrishna14
Saikrishna14 over 10 years ago
Hi
I am looking for something opposite to the function of append.I want to break a very big list into smaller lists of elements.For example say i have 103 elements in a list and i want to break the list into sublists such that each list consists of 20 elements.I should get an output in return with 5 sublists of 20 elements each and a 6th sublist of 3 elements.Is there any direct function available for use?


   
  • Cancel
Parents
  • tweeks
    tweeks over 10 years ago
    theopaone said:

    the CCFfold1 function

    That last letter is actually supposed to be an L, not a 1.  (I just took Haskell's left and right fold functions and stuck a "CCF" on the front.) 

    Back in the 80's when SKILL was born, folding seems to have been a relatively uncommon pastime, mostly practiced by academics and fringe functional programmers, which probably explains why there is no built-in in SKILL for it.  (Common Lisp has a built-in fold called REDUCE, named after the corresponding operator in APL, which further goes to show how uncommon this technique was in those days: you had to look to APL for an example!)

    Recently, however, folding seems to have become more popular.  The Wikipedia article is quite good.

    theopaone said:

    You introduced the concept of passing a function f to the CCFfold1 function and evaluating it: (f result x).

    This is high wizardry, you demonstrate a mastery of your craft.

    It's funny you should describe it that way, because I learned it from the Wizard Book! :)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • tweeks
    tweeks over 10 years ago
    theopaone said:

    the CCFfold1 function

    That last letter is actually supposed to be an L, not a 1.  (I just took Haskell's left and right fold functions and stuck a "CCF" on the front.) 

    Back in the 80's when SKILL was born, folding seems to have been a relatively uncommon pastime, mostly practiced by academics and fringe functional programmers, which probably explains why there is no built-in in SKILL for it.  (Common Lisp has a built-in fold called REDUCE, named after the corresponding operator in APL, which further goes to show how uncommon this technique was in those days: you had to look to APL for an example!)

    Recently, however, folding seems to have become more popular.  The Wikipedia article is quite good.

    theopaone said:

    You introduced the concept of passing a function f to the CCFfold1 function and evaluating it: (f result x).

    This is high wizardry, you demonstrate a mastery of your craft.

    It's funny you should describe it that way, because I learned it from the Wizard Book! :)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information