问题标签 [blitz++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
boost - 使用 boost::multiprecision 作为 blitz++ 的数据类型
我正在尝试结合 blitz++ 的漂亮数组语法进行任意精度算术。我的问题是,像cos
,exp
等通用数学函数不起作用:
g++ test.cpp -lquadmath -o test
第一个块,仅使用 float128 而不是 blitz,工作正常。然而,闪电战的第二个区块不会做cos(myarray)
. 编译器看似计算出迭代,但找不到对cos(x)
值执行实际操作的函数:编译器错误日志
我也想使用boost::multiprecision::mpfr
,但一次一件事。我希望有人能帮帮忙。
c++ - Blitz++ 数组作为地图的键
我正在尝试使用 blitz++ 数组,因为我知道它们通常比其他形式的数组提供更高的性能。是否可以使用 blitz++ 数组作为地图中的键?试
不编译。这是错误:
在 /usr/include/c++/4.6/string:50:0 包含的文件中,
/usr/include/c++/4.6/bits/stl_function.h: 在成员函数'bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = blitz::Array]' :
/usr/include/c++/4.6/bits/stl_function.h:236:22: 错误: 无法转换 'blitz::BzBinaryExprResult, blitz::Array >::T_result {aka blitz::_bz_ArrayExpr, blitz::FastArrayIterator, blitz ::Less > >}' 到 'bool' 作为回报
这是需要定义<
运算符的问题吗?如果是,我可以/应该自己定义它吗?
回答
正如 Jimmy Thompson 所建议的,一个可能的解决方案是定义:
然后
c++ - GoogleTest Fixture for blitz++ class with arguments in constructor
我有一个与此相关的问题:构造函数接受参数时的 GTest 夹具?. 我想知道当测试类为构造函数获取参数时如何设置 GTest 固定装置。我试图复制 blitz++ 而不是 arma 的答案,但我失败了。有什么线索吗?
测试类:
考试:
最终测试失败
即似乎没有分配M1?还是超出了范围?
c++ - blitz++ 0.10 中的模板
我正在尝试使用 Blitz++ 用户指南中的模板对象
但是编译后我有这个错误
其他数组操作(乘法、位置等)正在工作。谁能解释我做错了什么?
UPD
看起来我错过了标题blitz/array/stencil-et.h
(在示例中stencil2.cpp
),但还有另一个错误
有任何想法吗?
链接到带有错误消息的完整代码示例https://gist.github.com/erthalion/8784150
c++ - 使用限制关键字摆脱函数上的“类型限定符”警告
我正在尝试清理编译 Blitz++ 时收到的警告:
从这些类型的成员函数(TinyVector
类的)
restrict
据我所知,由于关键字,我收到了警告。注意:有些宏应该替换为restrict
(__restrict__
g++ 可以理解)。
我可以通过删除关键字来摆脱警告;但是,由于这应该是一个高性能数值库,我不想丢失restrict
关键字允许的任何编译器优化。
我能做些什么来抑制这些警告,而不仅仅是restrict
完全删除 ' 并-Wall
继续?
c++ - 如何构建 Blitz-0.10 库?
我需要在 vs2012 中使用 blitz++ 0.10库。不幸的是,我是 C++ 新手,没有足够的经验知道我应该如何构建这个库。
到目前为止,我一直在使用CMake构建库(例如,VTK)。但万一闪电战,至于为什么没有“ CMakeLists.txt ”文件,我不知道该怎么办。
我想知道是否有人可以以这种方式帮助我(一步一步)。( Win 7 , 64位, VS2012 )
c++ - 如何将 Blitz++ 子数组作为过程的输入/输出参数传递
我有一个 FFT 过程fftconvx
,它采用两个张量Ttnsr
和S
作为输入参数并将结果生成到另一个张量G
中。所有张量都定义为 Blitz++ 数组Array<complex<double>, N>
,其中N
是数组的秩。该过程fftconvx
必须在双循环内多次调用。
理想情况下,我想传递子数组Stnsr(ri,rj,rk,0)
或Stnsr(ri,rj,rk,1)
将结果接收到子数组中Gtnsr(t,p,ri,rj,rk,0)
或Gtnsr(t,p,ri,rj,rk,1)
如下所示:
变量ri,rj,rk
是 Blitz++ 数组范围。不幸的是,这不起作用并导致以下编译错误:
的签名fftconvx
是:
有更多的数组和变量作为输入参数传递,但为简洁起见,我省略了它们。
到目前为止,我已经提出了基于临时数组的解决方案,S
并且G
:
我相信有一个更优雅的解决方案。
visual-c++ - blitz++ 和 Visual C++ 2013 命名空间与等级类型冲突
我正在尝试让示例项目 Blitz-Examples/array 在 Microsoft Visual Studio 2013 中编译。我们似乎陷入了以下错误:(VS 2012 中不存在此错误)
错误 C2955:'std::rank' 使用类模板需要模板参数列表。文件 blitz/slice.h,第 57 行。
示例程序不包含 type_traits 头文件。示例代码也不在任何地方导入std::rank
。
有没有人遇到过这个问题?
c++ - 闪电战在 vs 2013 中不起作用
我有一个我在 vs 2010 中编写的项目。在这个项目中使用了闪电战。但是现在当我在 2013 年打开这个项目并尝试运行它时。一些错误说:
错误 C2955:“std::rank”:使用类模板需要模板参数列表 ~~\blitz\indexexpr.h 69 1 MOM
所以它出现在 indexexpr.h
我该如何解决?我从互联网上看到类似的错误。但是他们的错误出现在 slice.h 中。
c++ - C++ 随机值和 Blitz++
下面的代码正在编译和运行。代码应该将 Blitz-matrix 初始化为随机值,但由于矩阵的每个元素都获得相同的值,它会失败。
输出不是我想要的
将 Blitz-Matrix 初始化为随机值的正确方法是什么?