arc_agi/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub mod cats;
pub mod data;
pub mod examples;
pub mod cell;
pub mod grid;
pub mod shape;
pub mod rules;
pub mod experiments;
pub mod runner;
use crate::runner::runner;

#[no_mangle]
pub extern "C" fn arcagi(data_type: i32, all_int: i32) {
    let all: bool = all_int != 0;
    match data_type {
        0 => runner("training", "", all),
        1 => runner("evaluation", "", all),
        2 => runner("test", "", all),
        _ => runner("training", "", all),
    }
}

#[no_mangle]
pub extern "C" fn training() {
    runner("training", "", false)
}

#[no_mangle]
pub extern "C" fn training_all() {
    runner("training", "", true)
}

#[no_mangle]
pub extern "C" fn evaluation() {
    runner("evaluation", "", false)
}

#[no_mangle]
pub extern "C" fn evaluation_all() {
    runner("evaluation", "", true)
}

#[no_mangle]
pub extern "C" fn test() {
    runner("test", "", false)
}

#[no_mangle]
pub extern "C" fn test_all() {
    runner("test", "", true)
}