int libenv_get_tensortypes()

in gym3/libenv_fixedseq.c [94:113]


int libenv_get_tensortypes(libenv_env *env, enum libenv_space_name name, struct libenv_tensortype *out_types) {
    struct environment *e = env;
    int count = 0;
    const struct libenv_tensortype *types = NULL;

    if (name == LIBENV_SPACE_OBSERVATION) {
        count = 1;
        types = &e->ob_type;
    } else if (name == LIBENV_SPACE_ACTION) {
        count = 1;
        types = &e->ac_type;
    }

    if (out_types != NULL && types != NULL) {
        for (int i = 0; i < count; i++) {
            out_types[i] = types[i];
        }
    }
    return count;
}