qsim 内部使用 warp-interleaved 布局(每64个fp_type为一组,前32为实部后32为虚部),
而 hipstatevec 系列 API 期望标准交织布局(re0,im0,re1,im1,...)。
调用 hipstatevec API 前后必须做 InternalToNormalOrder/NormalToInternalOrder 转换,
否则概率计算错误
- statespace_dcu.h: BatchMeasure、CollapseByBitString、SamplerCreate 调用前后补充字节序转换
- simulator_dcu.h: ApplyGate/ApplyControlledGate/ExpectationValue 同上;构造函数接收 param;
修复 ExpectationValueGetWorkspaceSize 传 nullptr handle 的问题
- statespace_custatevec_test2.cpp: Factory 构造时注册 hipstatevecDeviceMemHandler
(hipMallocAsync/hipFreeAsync),为 BatchMeasure 提供足够的动态 workspace
- simulator_testfixture.h: TestControlledGates 恢复 NormalToInternal/InternalToNormal 调用
- simulator_dcu_test.cpp: Simulator 构造传入 param