我想调用复合类型的构造函数,WeightedPool1D但我尝试了两者WeightedPool1D(mask),WeightedPool1D{Float64}(mask)但没有奏效。
谢谢!
朱莉娅版本:1.6.1
我的代码:
# creating composite type
struct WeightedPool1D{T}
n::Int
c::Int
mask::Matrix{Bool}
weight::Matrix{T}
function WeightedPool1D(mask::Matrix{Bool}) where T
c, n = size(mask)
weight = randn(T, c, n) / n
new{T}(n, c, mask, weight)
end
end
# create argument
mask = zeros(Bool, 3, 3)
Run Code Online (Sandbox Code Playgroud)
调用w = WeightedPool1D(mask)给出错误
julia> w = WeightedPool1D(mask)
ERROR: UndefVarError: T not defined
Run Code Online (Sandbox Code Playgroud)
调用w = WeightedPool1D{Float64}(mask)给出错误
julia> w = WeightedPool1D{Float64}(mask)
ERROR: MethodError: no method matching WeightedPool1D{Float64}(::Matrix{Bool})
Run Code Online (Sandbox Code Playgroud) 我试图通过添加new方法来创建原始类型和对象类型usize:
impl usize {
fn new(value: &u32) -> usize {
value as usize
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道这条消息想表达什么:
impl usize {
fn new(value: &u32) -> usize {
value as usize
}
}
Run Code Online (Sandbox Code Playgroud) 我作为初学者正在学习 Rust。我很好奇我们如何使用数值作为泛型参数,这些参数将在编译时编译,类似于 C++ 中的模板
这是等效的 C++ 代码。
template<class T, int dim>
struct vec {
std::array<T, dim> data;
vec(): data() {}
vec(const vec<T, dim>& obj): data(obj.data) {}
~vec() {}
};
int main() {
vec<float, 3> v3;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将被编译为相同的
struct vec {
std::array<float, 3> data;
vec(): data() {}
vec(const vec<float, 3>& obj): data(obj.data) {}
~vec() {}
};
int main() {
vec v3;
}
Run Code Online (Sandbox Code Playgroud) 我的原始数据是一堆c数组(长度为1000000)(无符号)char(8位)。我想将它们加在一起(矢量加法),遵循以下代码中的规则。结果:(无符号)short(16位)的c数组。
我已经阅读了所有SSE和AVX / AVX2,但有一个类似的调用,即多个2个256位寄存器。前4个32位将相乘,每对32位的结果是一个64位,将适合256个寄存器。(_mm256_mul_epi32,_mm256_mul_epu32)
https://www.codeproject.com/Articles/874396/Crunching-Numbers-with-AVX-and-AVX
样例代码:
static inline void adder(uint16_t *canvas, uint8_t *addon, uint64_t count)
{
for (uint64_t i=0; i<count; i++)
canvas[i] += static_cast<uint16_t>(addon[i]);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
rust ×2
c ×1
c++ ×1
generics ×1
intel ×1
intrinsics ×1
julia ×1
rust-crates ×1
templates ×1
traits ×1