首页 > 解决方案 > 对结构 C 中的数据使用 GSL lib 函数

问题描述

许多 GSI 函数将参数作为双精度或双精度数组。然而,我的大部分数据都嵌套在结构数组中。说像数组:

struct A
{
  double a;
  int b;
};

我可以编写一个包装器,将数据复制到纯双精度或整数数组中。但我对解决这个问题的更优雅的东西感兴趣。

标签: carraysstructgsl

解决方案


不是你想要的答案。但是由于您无法更改 GSL 接口,如果您正在寻找性能,我认为您最好的解决方案可能是从一开始就选择与工作相匹配的数据结构。所以也许像一个包含双精度数组的结构。

如果 GSL 接口和原始数据结构都超出了您的控制范围,那么您唯一的选择可能就是您正在考虑的包装器。

如果您正在使用的库函数可以采用“跨步”参数,您可能会查看结构打包和填充。(但这仍然不会将您的整数转换为双精度数。)


推荐阅读