10

私は単純な分類子を持っています:

struct Clf {
    x: f64,
}

分類子は、観測値が より小さい場合は 0 を返しx、大きい場合は 1 を返しますx

この分類子の呼び出し演算子を実装したいと思います。ただし、関数は float または vector を引数として取ることができる必要があります。ベクトルの場合、出力は入力ベクトルと同じサイズの 0 または 1 のベクトルです。

let c = Clf { x: 0 };
let v = vec![-1, 0.5, 1];
println!("{}", c(0.5));   // prints 1
println!("{}", c(v));     // prints [0, 1, 1]

Fnこの場合、どのように実装を書くことができますか?

impl Fn for Clf {
    extern "rust-call" fn call(/*...*/) {
        // ...
    }
}
4

4 に答える 4