问题列表 - 第318108页

为什么不能在 std::span 上对这个循环进行 clang 矢量化,将结果写入 std::array ?

为什么 clang 17.0.1 不会矢量化以下函数中的循环:

void adapt(std::span<const F, N + 1> signal)
{
    F true_val = signal.back();
    F y = dot_prod<F, N>(&signal[0], w.begin());
    F e = true_val - y;
    F dot = dot_prod<F, N>(&signal[0], &signal[0]);
    F nu = mu / (eps + dot);
    for (size_t i = 0; i < N; i++)
    {
        w[i] += nu * e * signal[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

不存在浮点关联性的附带依赖性或问题,并且 GCC 13.2 对其进行矢量化没有任何问题。

这是编译器资源管理器上完整代码的链接。

其背景是我正在尝试优化我的代码以使用矢量化点积。std::inner_product由于浮点关联性问题,通常会发出标量实现,除非您使用-ffast-math. 但是,我只想-ffast-math应用于单个函数,并且我一直在寻找一种可移植的方法来为 clang 和 GCC 执行此操作。在查看输出时,我注意到 clang 不会矢量化另一个循环。 …

c++ simd vectorization clang auto-vectorization

4
推荐指数
1
解决办法
175
查看次数

错误:没有匹配的函数可用于调用 'std::tuple&lt;std::vector&lt;int, std::allocator&lt;int&gt; &gt;&amp;, int&gt;::tuple()'

嘿,我通常使用 Javascript 和 dart,但我被要求为某些项目用 C++ 编写一些代码,所以我在编写代码时遇到了很多问题。我遇到了这个错误,我花了几个小时试图解决这个错误,但没有任何线索,我最终决定来这里寻求帮助。

首先,我有一个通用函数,它可以根据作为参数传递给它的函数的参数创建一个元组。

template <typename R, typename... T>
tuple<T...> function_args(R (*)(T...))
{
    return tuple<T...>();
}
Run Code Online (Sandbox Code Playgroud)

但是每当我传递一个以向量作为参数的函数时,它就会抛出错误

/tmp/ViPPynah0U.cpp: In instantiation of 'void function_args(R (*)(T ...)) [with R = int; T = {std::vector<int, std::allocator<int> >&, int}]':
/tmp/ViPPynah0U.cpp:33:18:   required from here
/tmp/ViPPynah0U.cpp:23:17: error: no matching function for call to 'std::tuple<std::vector<int, std::allocator<int> >&, int>::tuple()'
Run Code Online (Sandbox Code Playgroud)

这是用于进一步说明的完整示例代码,

#include <iostream>
#include <sstream>
#include <string>
#include <tuple>
#include <vector>

using namespace std;

int example(vector<int> &nums, int target)
    {
        return 0;
    }

template <typename R, …
Run Code Online (Sandbox Code Playgroud)

c++ c++14

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

如何在html Angular 17中使用@for中的索引

如何在Angular 17中定义index变量@for

const users = [
    { id: 1, name: 'Ali' },
    { id: 2, name: 'reza' },
    { id: 3, name: 'jack' },
  ];

<ul>
  @for (user of users; track user.id; let i = index) {
  <li>{{ user.name + i }}</li>
  } @empty {
  <span>Empty list of users</span>
  }
</ul>
Run Code Online (Sandbox Code Playgroud)

索引并不为我们所知,因为我们已经输入*ngFor并得到了Unknown "let" parameter variable "index" in Angular17 @for

但以下内容有效:

<ul>
  <li *ngFor="let user of users; let i = index">{{ user.name + i }}</li> …
Run Code Online (Sandbox Code Playgroud)

html typescript angular angular17

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

如何在使用 Cypress 运行第一次测试之前运行命令

我想在第一次测试之前执行一个设置夹具的命令。但它不应该在每次测试之前运行 - 就在第一个测试之前运行。

我正在尝试获取已部署应用程序的功能标志,我正在对其进行测试(本地、暂存或生产)。在应用程序中,功能标志存储在window对象上:window.featureFlags。我的setupFixtures函数应该将这些功能标志保存到我的fixtures/feature-flags.json. 这样,我将能够根据部署的代码查看是否启用了某个功能。

然后我可以将其添加到我的所有测试中:

beforeEach( function(){
  if( !isFeatureEnabled( 'FEATURENAME' ) ){
    this.skip();
  }
});
Run Code Online (Sandbox Code Playgroud)

这意味着它将从给定的部署代码中获取 featureName。如果未启用 featureName,则会自动跳过该测试。

  • 如果我运行一个名为 的测试test-header.cy.ts,那么我希望我的测试能够执行以下操作:

    • 获取功能标志并将其保存到fixtures/feature-flags.json
    • 运行test-header.cy.ts测试
  • 如果我有三个测试:test-x.cy.tstest-y.cy.tstest-z.cy.ts,那么我希望它这样做:

    • 获取功能标志并将其保存到fixtures/feature-flags.json
    • 运行test-x.cy.ts测试
    • 运行test-y.cy.ts测试
    • 运行test-z.cy.ts测试

我该怎么做呢?

我试过了:

  1. 将一部分添加before到我的e2e.ts文件中:

    这需要定义一些辅助函数和任务,但如果我这样做:

    // Add isFeaturedEnabled globally (so we don't need to import it every time)
    function isFeatureEnabled(featureName) { …
    Run Code Online (Sandbox Code Playgroud)

cypress

-2
推荐指数
1
解决办法
39
查看次数

在错误处理期间使用字典理解中的变量是否安全?

考虑以下示例:

config_parameters = ['PARAM1', 'PARAM2', 'PARAM3']
sample_config = {
    'PARAM1': 'Value1',
    'PARAM2': 'Value2'
}

try:
    # Collects param values from the sample config
    config = {k: sample_config[k] for k in config_parameters}
except KeyError as e:
    # Tries using comprehension var `k` to advise which variable was missing
    raise KeyError(f'Value: "{k}" missing from config file.')
Run Code Online (Sandbox Code Playgroud)

在错误处理中,它尝试捕获使用字典理解的严格字典查找步骤中出现的关键错误。对于任何捕获的错误,它会尝试利用在字典理解期间分配的变量。

这对于 Python 来说是否被认为是安全的,或者是否有任何理由预期它k可能不会指示导致错误的相同值?

python

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

如何从 Promise 实例的构造时间访问未知的执行器函数?

是否可以检索 Promise 实例的实现细节?让我们假设以下创建的承诺......

let myPromise = new Promise(function (success, error) {
  /* implementation */
}
Run Code Online (Sandbox Code Playgroud)

可以以某种方式访问​​匿名函数吗...

function (success, error) {
  /* implementation */
}
Run Code Online (Sandbox Code Playgroud)

...或者获取代码文件中匿名函数的位置?

javascript function interceptor promise method-modifier

-1
推荐指数
1
解决办法
98
查看次数

如何将 TIdHTTPServer 与可视化组件一起使用?

我有一个应用程序,用于TIdHTTPServer在端口 80 上运行简单的 HTTP 服务器。我使用该OnCommandGet事件来获取命令并使用TClientDataSet.

它可以工作,但问题是,同一个应用程序具有附加到 的可视组件TClientDataSet,例如TDBGrid.

正在发生的事情是,当OnCommandGet变化时TClientDataSet.CommandTextTDBGrid需要更新,然后奇怪的事情开始发生:TDBGrid开始出现故障,表单本身开始表现奇怪。发生这种情况后,唯一的修复方法是重新启动应用程序。

我知道这可能是因为某些线程弄乱了可视组件,我知道我应该通过同步线程来避免这种情况,但我不知道如何使用TIdHTTPServer.

任何帮助将不胜感激,我不得不在白天多次重新启动我的应用程序。

delphi indy indy10 delphi-11-alexandria

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

\n 不保留在缓冲区中吗?

为什么当我只使用整数时程序运行良好?当我为变量“a”插入一个数字然后按 Enter 键后,不会\n保留在缓冲区中吗?如果它确实存在,那为什么我b也可以初始化?如果我定义b为 char 那么b输出将是b 10;换句话说,换行符。例如,如果我想多次使用(使用什么?)为许多人输入一个名字,我会有什么问题吗?我需要一个清除缓冲区的函数吗?那么出了什么问题以及如何解决这个问题

#include <stdio.h>

int main() {
   int a,b;
   
  printf("a ");
  scanf("%d",&a);
  printf("a=%d",a);
  
  printf("\nb ");
  scanf("%d",&b);
  printf("b=%d",b);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c printf buffer ascii

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

Selenium urllib.error.HTTPError:HTTP 错误 404:未找到

Traceback (most recent call last):
  File "C:\Users\nenuk\OneDrive\Desktop\Creator\32.py", line 556, in <module>
    driver = uc.Chrome(options=opts)
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\site-packages\undetected_chromedriver\__init__.py", line 258, in __init__
    self.patcher.auto()
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\site-packages\undetected_chromedriver\patcher.py", line 178, in auto
    self.unzip_package(self.fetch_package())
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\site-packages\undetected_chromedriver\patcher.py", line 287, in fetch_package
    return urlretrieve(download_url)[0]
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 240, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 521, in open
    response = meth(req, response)
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 630, in http_response
    response = self.parent.error(
  File "C:\Users\nenuk\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 559, …
Run Code Online (Sandbox Code Playgroud)

python selenium-webdriver

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

带有通配符字符串数组的 PowerShell Get-ChildItem

我有一个文件夹,其中包含多个数据库的一堆 SQL Server .BAK 文件。.BAK 文件名每天都在变化。

其中,我只对 3-4 个数据库的最新BAK 文件感兴趣Restore-SqlDatabase

这是我到目前为止所拥有的:

$databases = @('Orders', 'Items', 'Returns')
$BackupPath  = '\\BACKUPSERVER\BackupData\'
$latestBackupFile = Get-ChildItem $BackupPath -Attributes !Directory *$databases[0]* | Sort-Object -Descending -Property LastWriteTime | Select-Object -First 1
$latestBackupFile
#Restore-SqlDatabase -ServerInstance "my-vm" -Database "Orders" -BackupFile "\\BACKUPSERVER\BackupData\AODA2.Orders.2024-01-15.22-23-13.BAK" -ReplaceDatabase
#Restore-SqlDatabase -ServerInstance "my-vm" -Database "Items" -BackupFile "\\BACKUPSERVER\BackupData\MMMWW.Items.2024-01-15.22-23-13.BAK" -ReplaceDatabase
Run Code Online (Sandbox Code Playgroud)

Restore-SqlDatabase命令单独执行时有效;我已将上下文包含在上述脚本中。

*$databases[0]**Orders*- 这不会产生像我希望的那样的通配符字符串。

我不确定如何制作 ForEach 循环:a) 循环遍历数组$databases以获取通配符字符串,如*Orders**Items**Returns*;b) 循环遍历每个通配符的最新 .BAK 文件以构造命令Restore-SqlDatabase。 …

powershell wildcard

2
推荐指数
1
解决办法
53
查看次数