I think the easiest approach is to simply move to 'long long' for the rational class. We could start using GUILE's rationals, but it will complicate memory management, so I think it's not worth the trouble.
Anyone for a patch? On Thu, Sep 4, 2008 at 6:01 PM, Adam James Wilson <[EMAIL PROTECTED]> wrote: > It looks like I'm going down a road of rhythmic complexity that breaks > Lilypond rendering in the absence of arbitrary precision arithmetic. > Han-Wen: would it be possible for me to sponsor a move to arbitrary > precision arithmetic? As you say, GUILE does support this option, and it > would be possible to select it with some sort of flag so that other users > wouldn't take the performance hit. Such a fix would be necessary for me to > use Lilypond to fully render my scores (I can render only a few pages at the > moment). > My scores typically require things like the example below, which breaks with > an "unterminated beam" error, and I *think* it is exceeding 32-bit precision > (I'm assuming that Lily is using lowest common multiple of denominators to > deal with resolution): > \version "2.11.56" > \layout { > \context { \Score > \override NonMusicalPaperColumn #'line-break-permission = ##f > \override NonMusicalPaperColumn #'page-break-permission = ##f > \override SpacingSpanner #'uniform-stretching = ##t > \override SpacingSpanner #'strict-note-spacing = ##t > proportionalNotationDuration = #(ly:make-moment 1 20) > ragged-right = ##t > } > \context { \Voice > \remove Forbid_line_break_engraver > \override Beam #'breakable = ##t > } > } > \new Staff { > << > \new Voice { > \time 4/1 > c'2.*2351/3696 > \scaleDurations #'(495 . 4336) { > d'8*11[ \bar "|" \break d'8*100 d'8*100] > } > e'1*827949/8012928 > \bar "|" > \time 3/8 > c'4. > } >>> > } > %{ > warning: unterminated beam d'8*11[ \bar "|" \break d'8*100 d'8*100] > [a=3696, b=34688 (denom. of 495/4366*211/8), c=8012928, d=8] > gcf(a,b,c,d) = 8 > lcm(a,b,c,d) = 1027312242130944 > 32-bit precision maxes out at 4.3 billion (less than the lcm above) > 64-bit is more like 18.4 quintillion > %} -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user