小编pat*_*ck7的帖子

如何解决“fpclassify”:对重载函数的不明确调用

我和其他人一样对 C++ 很陌生。我接到了安装模拟的任务,但我不断遇到错误代码。我能够解决其中的大部分问题,但有一个我不确定如何解决。

错误代码为C2668,错误描述为:

“fpclassify”:对重载函数的不明确调用

项目是“运行模拟”,文件corecrt_math.h位于第 415 行。

老实说,我不确定我提供的任何信息是否有任何用处,我也不确定要提供哪些信息。如果你能问我一些问题,我能尽我所能回答,也许会更好?

我提供了 Visual Studio 19 的屏幕截图:

视觉工作室

(点击图片可放大)

可重现的示例(演示)

#include <cmath>

int main() {
    std::isnan(1);
}
Run Code Online (Sandbox Code Playgroud)

预期结果:编译。

c++ windows cmath visual-studio-2019

3
推荐指数
1
解决办法
2110
查看次数

优化独立 N 体仿真的方法

我对并行计算和 Numba 包比较陌生。我正在为我惊人的并行 N 体模拟寻找优化方法。到目前为止,我已经将我所知道的一切应用到 Numpy 数组、JIT 编译器和多处理中。但是,我仍然没有达到我想要的速度(我看过他们的代码仍然更快的视频)

我目前拥有的是一个使用 Runge-Kutta 积分和两个运动方程的相当简单的 python 积分器。我在我的领域经常与数值积分器合作,所以我肯定想从你们那里学到更多技巧。

我已经在下面发布了我的代码,但基本上,我有一个名为“Motion”的主要函数,它需要 2 个初始条件并将它们的运动整合一段时间。我已经 JITTED 这个函数和它迭代调用的所有函数:“RK4”、“ODE”、“电场”。最后,我从 Multiprocessing 调用池函数来并行化“运动”函数,并为其运行的每个模拟插入不同的初始条件。

同样,我已经实现了我所知道的所有类型的优化,但是我对它的速度仍然不是很满意。我已经在下面发布了我的代码。如果有人能发现可以进一步优化的算法,那将非常有帮助和教育意义(至少对我而言)!感谢您的时间。

import numpy as np
import matplotlib.pyplot as plt
from numba import njit, prange
from time import time
from tqdm import tqdm
import multiprocessing as mp
from IPython.display import clear_output
from scipy import interpolate


"Electric Field Information"
A = np.float32(1.00E-04)
N_waves = np.int(19)
frequency =  np.linspace(37.5,46.5,N_waves)*1e-3 #Set of frequencies used for Electric Field 
m = np.int(20) #Azimuthal Wave Number
sigma …
Run Code Online (Sandbox Code Playgroud)

python optimization jit runge-kutta numba

0
推荐指数
1
解决办法
96
查看次数