相关疑难解决方法(0)

C中的浮点运算是关联的吗?

添加在数学上保持关联属性:

(a + b) + c = a + (b + c)
Run Code Online (Sandbox Code Playgroud)

在一般情况下,此属性不适用于浮点数,因为它们表示有限精度的值.

作为优化的一部分,是否允许编译器在从C程序生成机器代码时进行上述替换?它在C标准中的确切位置在哪里?

c math floating-point compiler-optimization

22
推荐指数
2
解决办法
3712
查看次数

我的 quickCheck 类型声明有什么问题?

我推出了自己的elem函数,称为elem'

elem' :: (Eq a) => a -> [a] -> Bool
elem' n ys = foldl (\acc p -> if (p == n) then True else False) False ys
Run Code Online (Sandbox Code Playgroud)

似乎有效,但我想在 GHCi 中快速检查它,所以我 import Test.QuickCheck

verboseCheck (\a -> (\xs ->( (elem' a xs) == (elem a xs)) ) )
Run Code Online (Sandbox Code Playgroud)

在测试函数上没有类型声明它测试正常,但那是因为它只测试空输入。

我的测试函数类型声明有问题:

verboseCheck (\a->(\xs->((elem' a xs)==(elem a xs))) :: Int->[Int]->Bool)
verboseCheck (\a->(\xs->((elem' a xs)==(elem a xs))) :: Char->[Char]->Bool)
Run Code Online (Sandbox Code Playgroud)

第一个错误:

• Couldn't match expected type ‘[Int] -> Bool’
                  with actual …
Run Code Online (Sandbox Code Playgroud)

haskell quickcheck

4
推荐指数
1
解决办法
55
查看次数

在C中:var = x |是什么 y | Z者除外; 意思?

所以我最近开始使用TI的CC2650设备,并试图通过研究他们的一些示例应用程序来学习如何编程.我看到以这种格式声明了很多变量,我不知道它意味着什么:

var1 = x | y | z;
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,var1类型为uint8_t.

c

-1
推荐指数
2
解决办法
186
查看次数