问题标签 [valarray]

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.

0 投票
1 回答
59 浏览

c++ - 这两个片段有什么区别?

我需要一些解释[](int x){return x=x+5;}。是什么[] (int x)意思?

我运行varr.apply(incelemby5) whereincelemby5将数组元素增加 5。得到了相同的结果

0 投票
0 回答
43 浏览

c++ - 将 `std::valarray` 集成到数据结构中

我正在尝试将 STLstd::valarray合并到我的程序中。我希望能够从这样的东西改变我的程序的一部分

对此

类似于

目前,我使用的数据结构如下:

我将这部分代码更改为

但是,如果我如上所示更改我的代码,我的代码不会编译。编译器会抛出错误,例如

0 投票
3 回答
452 浏览

c++ - 在数值模拟中使用 std::valarray

我在 Code Review 中发布了一个用 C++ 编写的简单 n-body 类。

在那里我被告知使用std::valarray而不是简单std::array的目标是我可以重写一些目前看起来像这样的代码

对此

因为我是 C++ 的初学者,所以我写了一个使用 C++ 的简短程序,std::valarray以便我可以学习如何使用这种数据结构。但是,编译器会引发很多错误,我不知道为什么。我希望你能帮我解决这个问题。这是我写的小程序:

当我尝试编译此代码时,出现以下错误:

0 投票
1 回答
54 浏览

c++ - 分配给 gslice_array 会产生运行时错误

我正在尝试构建一个派生的类std::valarray<T>以在其上使用我自己的方法。我遇到了关于使用operator[]赋值的问题。经过一番努力,我想我终于发现了问题所在。分配给std::slice_array<T>不构成问题,分配给std::gslice_array<T>就可以了。

这是重现问题的代码:

知道如何解决这个问题吗?

0 投票
1 回答
1539 浏览

c++ - 如何在 C++ 中的矩阵和向量之间进行点积

有一个名为 的函数inner_product,但我在使用它时失败了。对于不同的矩阵和向量,我需要多次使用此函数。咆哮我当前的代码:

过程是这样的:

预期输出:

错误:

0 投票
1 回答
44 浏览

c++ - 处理 Valarray

提前感谢您的关注。

所以我正在处理来自 STL 的 valarray,我很好奇使用闭包捕获值。

为什么我不能通过引用传递值。以以下代码为例:

谢谢 !

0 投票
0 回答
37 浏览

c++ - Valarrays 是专门的模板吗?

我们可以确定这valarray是一个专门的类模板吗?这就是为什么它不会让隐式转换发生?

错误:将 '1.1000000000000001e+0' 从 'double' 缩小到 'int' [-Wnarrowing]

0 投票
1 回答
73 浏览

c++ - Add of std::valarray got different sizes with different operand orders

Add of std::valarray got different sizes with different operand orders.

Code is as the following:

Compilers:

0 投票
2 回答
88 浏览

c++ - 如何在没有冗余计算的 if 语句中使用 std::valarray?

我有以下代码float,例如:

现在我想替换floatstd::valarray<float>

虽然新代码在逻辑上是正确的,但对于v[i][j] == 0.

那么如何在没有冗余计算的情况下使用std::valarrayinif语句呢?

0 投票
1 回答
195 浏览

c++ - Valarray 切片数组与 'operator*' 不匹配

我正在尝试使用两个 valarray 进行多维点积,即返回一个 valarray,使得每个元素都是输入 valarray 的两行上的点积。

我使用切片按数组划分为行。检查文档,它指出 * 是 slice_array 的运算符,我相信我的工作方式类似于 * 到 valarrays。它在两个数组之间执行元素乘法。

我不断收到的错误是: |12|error: no match for 'operator*' (operand types are 'std::slice_array<float>' and 'std::slice_array<float>')|

我不确定我做错了什么。在我制作自己的元素乘法函数之前,代码或我对 slice_array 的使用是否有任何错误?