Current section

Files

Jump to
viva_tensor src viva_tensor@horde.erl
Raw

src/viva_tensor@horde.erl

-module(viva_tensor@horde).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/viva_tensor/horde.gleam").
-export([new/2, set_positions/2, set_velocities/2, integrate/2, dampen/2, wrap/2, positions/1, velocities/1, kinetic_energy/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/horde.gleam", 18).
?DOC(false).
-spec new(integer(), integer()) -> {ok, viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
new(Count, Dims) ->
viva_tensor@core@ffi:horde_create(Count, Dims).
-file("src/viva_tensor/horde.gleam", 25).
?DOC(false).
-spec set_positions(viva_tensor@core@ffi:horde_ref(), list(float())) -> {ok,
viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
set_positions(Horde, Data) ->
case viva_tensor@core@ffi:horde_set_positions(Horde, Data) of
{ok, nil} ->
{ok, Horde};
{error, Error} ->
{error, Error}
end.
-file("src/viva_tensor/horde.gleam", 33).
?DOC(false).
-spec set_velocities(viva_tensor@core@ffi:horde_ref(), list(float())) -> {ok,
viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
set_velocities(Horde, Data) ->
case viva_tensor@core@ffi:horde_set_velocities(Horde, Data) of
{ok, nil} ->
{ok, Horde};
{error, Error} ->
{error, Error}
end.
-file("src/viva_tensor/horde.gleam", 43).
?DOC(false).
-spec integrate(viva_tensor@core@ffi:horde_ref(), float()) -> {ok,
viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
integrate(Horde, Dt) ->
case viva_tensor@core@ffi:horde_integrate(Horde, Dt) of
{ok, nil} ->
{ok, Horde};
{error, Error} ->
{error, Error}
end.
-file("src/viva_tensor/horde.gleam", 53).
?DOC(false).
-spec dampen(viva_tensor@core@ffi:horde_ref(), float()) -> {ok,
viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
dampen(Horde, Friction) ->
case viva_tensor@core@ffi:horde_dampen(Horde, Friction) of
{ok, nil} ->
{ok, Horde};
{error, Error} ->
{error, Error}
end.
-file("src/viva_tensor/horde.gleam", 63).
?DOC(false).
-spec wrap(viva_tensor@core@ffi:horde_ref(), float()) -> {ok,
viva_tensor@core@ffi:horde_ref()} |
{error, binary()}.
wrap(Horde, Max_bound) ->
case viva_tensor@core@ffi:horde_wrap(Horde, Max_bound) of
{ok, nil} ->
{ok, Horde};
{error, Error} ->
{error, Error}
end.
-file("src/viva_tensor/horde.gleam", 71).
?DOC(false).
-spec positions(viva_tensor@core@ffi:horde_ref()) -> {ok, list(float())} |
{error, binary()}.
positions(Horde) ->
viva_tensor@core@ffi:horde_get_positions(Horde).
-file("src/viva_tensor/horde.gleam", 76).
?DOC(false).
-spec velocities(viva_tensor@core@ffi:horde_ref()) -> {ok, list(float())} |
{error, binary()}.
velocities(Horde) ->
viva_tensor@core@ffi:horde_get_velocities(Horde).
-file("src/viva_tensor/horde.gleam", 81).
?DOC(false).
-spec kinetic_energy(viva_tensor@core@ffi:horde_ref()) -> {ok, float()} |
{error, binary()}.
kinetic_energy(Horde) ->
viva_tensor@core@ffi:horde_kinetic_energy(Horde).