Resolved. As Thomas said, mixing up sure is a bad thing. But then I have to name so many meanless (at least I think) computing process....
On Tue, Sep 29, 2009 at 3:32 PM, Jimmy Hartzell <j...@shareyourgifts.net> wrote: > *Should* isInteger be returning True for any numbers generated by this > code? If so, can you simplify this test down to that example, so that > it's obvious what the test should do, and that it's not doing it (if it in > fact is not doing as it should)? In any case, it would help to divide this > block of code into more manageable pieces. > > isInteger should have the type Fractional a => a -> Boolean. > >> The properFaction part is correct. So I posted the whole code, since >> "isInteger" should accept any reasonable incoming types. Well, in this >> one situation, it does not. And I cannot figure out why.... >> >> On Tue, Sep 29, 2009 at 3:07 PM, Jimmy Hartzell <j...@shareyourgifts.net> >> wrote: >>> Did you test the properFraction-based code in isolation? If code is >>> broken, it's important to figure out which part of it is broken. Also, >>> this function is not divided into constituent parts, but is a long >>> unruly >>> mess. Dividing it into parts would make it much much more readable, and >>> you would then be able to test the parts individually. >>> >>> Jimmy >>> >>>> The original code is >>>> givenSum num = map (\a -> >>>> let l = (sqrt $ fromIntegral (a * a + >>>> 2 + 2 * >>>> num)) - (fromIntegral a) in >>>> case properFraction l of >>>> (_, 0) -> >>>> True >>>> _ -> >>>> False >>>> ) $ take num [1..] >>>> :t l is (Floating a) => a >>>> Well, in ghci >>>> *Main> givenSum 10 >>>> [False,False,False,False,False,False,False,False,False,False] >>>> >>>> On Tue, Sep 29, 2009 at 2:45 PM, Thomas DuBuisson >>>> <thomas.dubuis...@gmail.com> wrote: >>>>> On Mon, Sep 28, 2009 at 11:35 PM, Magicloud Magiclouds >>>>> <magicloud.magiclo...@gmail.com> wrote: >>>>>> It never matches to (_, 0.0).... >>>>>> I mean >>>>>> case properFraction l of >>>>>> (_, 0) -> l >>>>>> _ -> 0 -- always goes here. >>>>> >>>>> Odd, it works fine for me. >>>>> >>>>> f x = >>>>> case properFraction x of >>>>> (_,0) -> True >>>>> _ -> False >>>>> >>>>> >>>>> *Main> f 5 >>>>> True >>>>> *Main> f 5.5 >>>>> False >>>>> *Main> f 4.0 >>>>> True >>>>> *Main> f 4.00000001 >>>>> False >>>>> >>>>> >>>>> Thomas >>>>> >>>> >>>> >>>> >>>> -- >>>> 竹密岂妨流水过 >>>> 山高哪阻野云飞 >>>> >>> >>> >>> >> >> >> >> -- >> 竹密岂妨流水过 >> 山高哪阻野云飞 >> > > > -- 竹密岂妨流水过 山高哪阻野云飞 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe