18 if (example_create_analytic_path_2nd(&path))
41 if (example_expect_ok(status,
"copp_clarabel_default_options"))
63 status =
copp2_socp(problem, options, &a_socp);
64 if (example_expect_ok(status,
"copp2_socp"))
82 printf(
"COPP2-SOCP done.\n");
84 printf(
"t_final = %.6f s\n", t_final);
85 printf(
"a_profile.len() = %zu\n", a_socp.
len);
86 printf(
"s(t) samples = %zu\n", s_t.
len);
enum CoppStatus copp2_socp(struct Copp2Problem problem, struct CoppClarabelOptions options, struct CoppVecF64 *out_a)
Solve a COPP2-SOCP problem.
CoppStatus
C ABI status code returned by COPP FFI functions.
void copp_vec_f64_free(struct CoppVecF64 vec)
Release a library-owned f64 vector returned by COPP.
enum CoppStatus copp_clarabel_default_options(struct CoppClarabelOptions *out_options)
Write default shared Clarabel options into out_options.
struct CoppPath CoppPath
Opaque C handle for a library-owned Path.
void copp_path_free(struct CoppPath *path)
Release a path handle created by this module.
struct CoppRobot CoppRobot
Opaque C handle for a library-owned robot and constraint buffer.
void copp_robot_free(struct CoppRobot *robot)
Release a robot handle created by copp_robot_create.
Borrowed value descriptor for a COPP2 problem solved from C.
const struct CoppRobot * robot
Robot handle that owns the station-indexed constraint storage.
const struct CoppObjective * objectives
Objective descriptor array.
Shared Clarabel options for COPP SOCP solvers.
bool allow_almost_solved
Accept Clarabel status AlmostSolved as usable.
Borrowed objective descriptor for COPP solvers.
Borrowed immutable f64 slice passed from C to COPP.
Library-owned f64 vector returned to C.
size_t len
Number of initialized elements.