From dc64668ceba09cd048fb92af77857b594c584c27 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 5 Aug 2024 17:40:15 +0200 Subject: Comment cube.h --- src/cube.h | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'src/cube.h') diff --git a/src/cube.h b/src/cube.h index 28737c4..346b99a 100644 --- a/src/cube.h +++ b/src/cube.h @@ -1,39 +1,57 @@ -/* include: inttypes, stdarg, stdbool, string */ - /* +If you include this file, you should also include the following: + +inttypes, stdarg, stdbool, string + All the functions below return 0 in case of success and a positive -number in case of error, unless otherwise specified. See (TODO: -documentation) for details. +number in case of error, unless otherwise specified. + +Arguments of type char [static 22] denote a cube in B32 format. +Other available formats are H48 and SRC. See README.md for more info on +these formats. + +Accepted moves are U, D, R, L, F and B, optionally followed by a 2, +a ' or a 3. + +A transformation must be given in the format + (rotation|mirrored) (2 letters) +for example 'rotation UF' or 'mirrored BL'. */ +/* Apply the secod argument as a permutation on the first argument */ int64_t nissy_compose( const char cube[static 22], const char permutation[static 22], char result[static 22] ); +/* Compute the inverse of the given cube */ int64_t nissy_inverse( const char cube[static 22], char result[static 22] ); +/* Apply the given sequence of moves on the given cube */ int64_t nissy_applymoves( const char cube[static 22], const char *moves, char result[static 22] ); +/* Apply the single given transformation to the given cube */ int64_t nissy_applytrans( const char cube[static 22], const char *transformation, char result[static 22] ); +/* Return the cube obtained by applying the given moves to the solved cube */ int64_t nissy_frommoves( const char *moves, char result[static 22] ); +/* Convert the given cube between the two given formats */ int64_t nissy_convert( const char *format_in, const char *format_out, @@ -41,6 +59,7 @@ int64_t nissy_convert( char *result ); +/* Get the cube with the given ep, eo, cp and co values. */ int64_t nissy_getcube( int64_t ep, int64_t eo, @@ -81,4 +100,5 @@ int64_t nissy_solve( char *solutions ); +/* Set a global logger function used by this library. */ void nissy_setlogger(void (*logger_function)(const char *, ...)); -- cgit v1.3