Whatever Lilypond is doing internally, there's some arbitrary limit to the numbers it uses. Time signatures above some large value cause a crash. Too many tuplets of too many different kinds causes Lilypond to crash.
There's no reason for that. None whatever. A competent programmer would not impose some arbitrary limit on internal number values, other than floating point overflow, or 64-bit integer limits. It seems safe to say that a 64-bit integer is going to allow any time signature a user might conceivably need. Instead, when you get to time signature above a few thousand, Lilypond crashes and gives an error. That's stupid, because adding broken tuplets inside a measure quickly increases the time signature. A quick Fermi estimate shows that if you use prime number tuplets, you're going to get a time signature roughly on the order of whatever prime number you're using factorial times a few thousand. Since 10 factor is more than a mllion, using tuplets from (say) 3 through 23 is going to give you a time signature in the ballpark of 23*19*17*13*11*7*5*3 times several thousand. That value is ~ 111,546,435*10,000, or slightly over a trillion. Anyone who knows anything about how broken tuplets work will recognize instantly that when you've got 7 or 8 or 10 prime numbers, finding the lowest common denominator is going to produce large numbers very quickly. That's 3rd grade arithmetic. Didn't the programmers who worked on Lilypond's internal ever pass 3rd grade arithmetic? The point is that whatever Lilypond is doing internally, on a computer with 64 bit integers, there is absolutely no reason whatsoever to arbitrarily limit Lilypond to some small internal value such that the program crashes when you try to enter a time signature above a few thousand. That's ridiculous. Moreover, there's a good solid practical reason why musicians might want to use large time signatures. Lots of different broken tuplets inside a measure require a large time signature. There's absolutely no reason not to allow one. Naturally, the varoius people on this forum will try to claim that "no one would ever want to do that" or "musicians should not be using lots of broken tuplets in a measure." Reality check: programmers are ont in the business of telling composers how they should compose. Programmers should be in the business of getting the computer to represent the kinds of notatoins that musicians use. Musicians use broken tuplets nowadays. Lots of composers use lots of broken tuplets. Setting up Lilypond so that it crashes if you use too many broken tuplets in a measure is ridiculous. It's on the level of setting up Lilypond to crash if the user tries to enter a time signature other than 4/4, or note values smaller than a sixteenth note. -- View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-get-irrational-tuplets-inside-a-regular-meter-like-9-8-tp196323p196358.html Sent from the User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
