2015-08-12 12:28 GMT+02:00 Andrew Bernard <andrew.bern...@gmail.com>: > Hi Harm, > > > > User specification of input only guessed at by me. :-) > > Of course, for negative and positive input (e.g. -3/2): > > (define (mixed-num x) > (let* ((n (numerator x)) > (d (denominator x))) > (cons (truncate (/ n d)) (abs (/ (remainder n d) d))))) > > But are you saying you also need the function to take any number as input, > not just a known fraction? Do you really want something like the rationalize > function ? The common mathematical term for 3 1/2 is mixed number, or mixed > fraction, by the way. > > > > Andrew > > > On 12/08/2015 09:09, "Thomas Morley" > <lilypond-user-bounces+andrew.bernard=gmail....@gnu.org on behalf of > thomasmorle...@gmail.com> wrote: > >> >>`mixed-num' can't deal with negative input right now, returning wrong >>(could be fixed ofcourse). >> >>In case the input is not exact `mixed-num' crashes, whereas >>`integer-and-fraction' doesn't, although returning not a fraction. >
Hi Andrew, converting 3/2 -> 1½ is ofcourse a helper-function for some larger project. Because I'm not entirely sure the input will always positive and exact, I tested what happens. I'll add that exact?-condition (already mentioned) and/or I'll make sure the input will always be exact. Thanks again for your input, it's highly appreciated! Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user