/* Native Bio-Digital forward and sampler path. */
#ifndef BIO_FORWARD_H_
#define BIO_FORWARD_H_

#include <stdint.h>

#include "bio/bio.h"
#include "bio/bio_gguf.h"

#define BIO_FORWARD_LOGITS 256u

typedef struct bio_forward_result {
    uint32_t token;
    float score;
    uint64_t executed_ops;
    uint64_t baseline_ops;
} bio_forward_result;

bio_v1_status bio_forward_next_token(const bio_gguf_model *model,
                                     const uint32_t *tokens,
                                     uint32_t token_count,
                                     uint64_t seed,
                                     bio_forward_result *out);

#endif /* BIO_FORWARD_H_ */
