[Haskell-cafe] How to decide if a number is an integer?
Magicloud Magiclouds
magicloud.magiclouds at gmail.com
Tue Sep 29 02:54:52 EDT 2009
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.dubuisson at gmail.com> wrote:
> On Mon, Sep 28, 2009 at 11:35 PM, Magicloud Magiclouds
> <magicloud.magiclouds at 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
>
--
竹密岂妨流水过
山高哪阻野云飞
More information about the Haskell-Cafe
mailing list