0

我正在编写一个 MPI 程序,其中等级 0 从文件中读取参数并使用 MPI_BCAST 在所有其他等级上广播参数。

我正在尝试验证在 C 中获得的长整数是否非零或不在 C 中,虽然我可以验证变量是否非零,但因为我无法验证相反的情况。(我已将变量初始化为零)。我已验证广播确实可以正常工作,但我无法验证

if ((min_length==0LL) || (max_length==0LL) || (stride_length==0LL) || (nflops == 0LL))

而我可以验证它的反面,即

if ((min_length!=0LL) || (max_length!=0LL) || (stride_length!=0LL) || (nflops != 0LL))

只是为了清除这些东西,没有一个值为零,如果获得的任何值为零,我的程序需要终止。

先感谢您。

4

1 回答 1

2

使用德摩根是你想反转/否定你的条件

if (min_length!=0LL && max_length!=0LL && stride_length!=0LL && nflops != 0LL) {
}

http://en.wikipedia.org/wiki/De_Morgan%27s_laws

于 2012-05-01T15:45:59.593 回答