- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了以下代码。我编译并运行了该程序。调用 mpif_set_si 时发生段错误。但我不明白为什么会出现段错误。
操作系统:Mac OS X 10.9.2编译器:i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1(基于Apple Inc. build 5658)(LLVM build 2336.11.00)
#include <stdio.h>
#include <gmp.h>
#include <math.h>
#define NUM_ITTR 1000000
int
main(void)
{
unsigned long int i, begin, end , perTh;
mpf_t pi, gbQuaterPi, quaterPi, pw, tmp;
int tn, nt;
mpf_init(quaterPi);
mpf_init(gbQuaterPi);
mpf_init(pw);
mpf_init(tmp);
mpf_init(pi);
#pragma omp parallel private(tmp, pw, quaterPi, tn, begin, end, i)
{
#ifdef OMP
tn = omp_get_thread_num();
nt = omp_get_num_threads();
perTh = NUM_ITTR / nt;
begin = perTh * tn;
end = begin + perTh - 1;
#else
begin = 0;
end = NUM_ITTR - 1;
#endif
for(i=begin;i<=end;i++){
printf("Before set begin=%lu %lu tn= %d\n", begin, end, tn);
mpf_set_si(tmp, -1); // segmentation fault occur
printf("After set begin=%lu %lu tn= %d\n", begin, end, tn);
mpf_pow_ui(pw, tmp, i);
mpf_set_si(tmp, 2);
mpf_mul_ui(tmp, tmp, i);
mpf_add_ui(tmp, tmp, 1);
mpf_div(tmp, pw, tmp);
mpf_add(quaterPi, quaterPi, tmp);
}
#pragma omp critical
{
mpf_add(gbQuaterPi, gbQuaterPi, quaterPi);
}
}
mpf_mul_ui(pi, gbQuaterPi, 4);
gmp_printf("pi= %.30ZFf\n", pi);
mpf_clear(pi);
mpf_clear(tmp);
mpf_clear(pw);
mpf_clear(quaterPi);
mpf_clear(gbQuaterPi);
return 0;
}
-命令行-
$ setenv OMP_NUM_THREADS 2
$ gcc -g -DOMP -I/opt/local/include -fopenmp -o calcpi calcpi.c -lgmp -L/opt/local/lib
$ ./calcpi
Before set begin=0 499999 tn= 0
Before set begin=500000 999999 tn= 1
After set begin=1 999999 tn= 1
Segmentation fault
最佳答案
private
变量未初始化,因此它们在并行部分开始后可以具有任何值。在并行 block 内初始化一个值可以工作,但通常效率不高。
通常更好的方法是使用 firstprivate
而不是 private
,它将使用并行区域之前的值来初始化变量。
关于c - 调用 MPF 函数时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23446294/
我正在尝试将 fsolve 与 mpmath 包结合使用。但是,我收到错误 cannot create mpf from array([mpf('1.0')], dtype=object)。 这是一个
我正在尝试将 fsolve 与 mpmath 包结合使用。但是,我收到错误 cannot create mpf from array([mpf('1.0')], dtype=object)。 这是一个
我写了以下代码。我编译并运行了该程序。调用 mpif_set_si 时发生段错误。但我不明白为什么会出现段错误。 操作系统:Mac OS X 10.9.2编译器:i686-apple-darwin11
我不知道是什么导致了这个错误。我刚刚在 ubuntu 上安装了 GMP。这是 AMD cpu 上的 64 位操作系统(不确定是否重要)。我一直遇到段错误。 #include #include #i
我有: import numpy as np from mpmath import * mpf(np.array(range(0,600))) 但它不会让我这样做: TypeError: cannot
有人知道在 Visual Studio 2010 中将语言服务 (MPF) 与编辑器扩展 (MEF) 集成的正确方法吗? 在哪里实现成员补全、语法高亮、快速信息等? 有什么例子吗? 谢谢! 最佳答案
在修复上一个问题 (Python AttributeError:cos) 中的导入并使用 sympy 函数稍作更改后: from sympy import * from sympy import Sy
我做了以下导入: from sympy.matrices import Matrix as sy_matrix import sympy.mpmath as sy_mp 像这样创建我的矩阵: sysM
使用 Visual Studio 的托管包框架,我如何从 C# 继承以便拥有 C# 属性页和 C# 项目项?我试过制作一个 flavor 项目,但它在制作我们自己的自定义节点和自定义文件属性方面受到限
我正在使用 GMP,我希望能够快速将 mpz 转换为 mpf。我翻遍了图书馆,找不到太多。我能想到的最好的事情是: mpz_t x; /* Insert code here that assigns
有什么办法吗?例如在下面的代码中我失去了精度: >>> from sympy import * >>> from sympy.mpmath import * >>> mp.dps = 50 >>> a
我正在研究向 visual sudio 2010 添加一种新的编程语言,但我对采用的最佳方法有点困惑。 我查看了 MPF 并找到了一些关于如何进行语法高亮显示、链接外部解析器等的示例,这看起来非常简单
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
我正在尝试扩展 Visual Studio 2010 RC 以便能够使用自定义编程语言。 我尝试做的前两件事是语法高亮/智能感知功能(很容易完成,感谢来自 PDC09 的“Ook!”示例)和创建新项目
VS 2019 Preview 1刚刚发布,但出现了 MPF 15.0错误。这是在VS 2017和2015之前发生的。因此,即使我们从Microsoft市场下载,也无法更新某些扩展。你有什么建议吗?
我正在使用 mpmath python 库在某些计算期间获得精度,但我需要将结果转换为 numpy native 类型。 更准确地说,我需要在 numpy.ndarray(包含浮点类型)中转换一个 m
我有 4 个输入变量( float ): Xmax Xmin 百分比 模式 我想为 s 求解以下(相当长的)方程: > (1/2+1/2*erf((log(Xmax)-(log(mode)+s**2)
我是一名优秀的程序员,十分优秀!