-module(viva_tensor@hdc). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/viva_tensor/hdc.gleam"). -export([new/1, random/2, bind/2, similarity/2, permute/2, dim/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/viva_tensor/hdc.gleam", 37). ?DOC(false). -spec new(integer()) -> {ok, viva_tensor@core@ffi:hdc_vector_ref()} | {error, binary()}. new(Dim) -> viva_tensor@core@ffi:hdc_create(Dim). -file("src/viva_tensor/hdc.gleam", 42). ?DOC(false). -spec random(integer(), integer()) -> {ok, viva_tensor@core@ffi:hdc_vector_ref()} | {error, binary()}. random(Dim, Seed) -> viva_tensor@core@ffi:hdc_random(Dim, Seed). -file("src/viva_tensor/hdc.gleam", 50). ?DOC(false). -spec bind( viva_tensor@core@ffi:hdc_vector_ref(), viva_tensor@core@ffi:hdc_vector_ref() ) -> {ok, viva_tensor@core@ffi:hdc_vector_ref()} | {error, binary()}. bind(A, B) -> viva_tensor@core@ffi:hdc_bind(A, B). -file("src/viva_tensor/hdc.gleam", 60). ?DOC(false). -spec similarity( viva_tensor@core@ffi:hdc_vector_ref(), viva_tensor@core@ffi:hdc_vector_ref() ) -> {ok, float()} | {error, binary()}. similarity(A, B) -> viva_tensor@core@ffi:hdc_similarity(A, B). -file("src/viva_tensor/hdc.gleam", 68). ?DOC(false). -spec permute(viva_tensor@core@ffi:hdc_vector_ref(), integer()) -> {ok, viva_tensor@core@ffi:hdc_vector_ref()} | {error, binary()}. permute(Vec, Shift) -> viva_tensor@core@ffi:hdc_permute(Vec, Shift). -file("src/viva_tensor/hdc.gleam", 73). ?DOC(false). -spec dim(viva_tensor@core@ffi:hdc_vector_ref()) -> {ok, integer()} | {error, binary()}. dim(Vec) -> viva_tensor@core@ffi:hdc_dim(Vec).