Proposal for a canonical puzzle.

Programs which generate, solve, and analyze Sudoku puzzles

Re: Proposal for a canonical puzzle.

Postby yzfwsf » Tue Oct 28, 2025 2:14 am

Hi champagne:
Could you please confirm if these dlls provide stdcall exported functions for third-party calls? It would be even better if there are documents for api calls.Thank you for providing such a user-friendly feature that makes it convenient for Sudoku enthusiasts to exchange databases.
yzfwsf
 
Posts: 960
Joined: 16 April 2019

Re: Proposal for a canonical puzzle.

Postby champagne » Tue Oct 28, 2025 4:12 am

yzfwsf wrote:Hi champagne:
Could you please confirm if these dlls provide stdcall exported functions for third-party calls? It would be even better if there are documents for api calls.Thank you for providing such a user-friendly feature that makes it convenient for Sudoku enthusiasts to exchange databases.


Hi yzfwsf,

All my DLLs (in github repositories) use standard "C" calls as this one to get a band properties
Hidden Text: Show
Code: Select all
 
// ======  morphing a band
extern "C" __declspec(dllimport) void SkbGetMappingChar(   const char * a, BANDPERM *  b);
extern "C" __declspec(dllimport) void SkbGetMappingInt(   int* a, BANDPERM * b);

// ======= getting auto morphs
extern "C" __declspec(dllimport) int SkbGetAutoMorphs(int bandid, BANDPERM** tpermret);

// ======== Getting a band and  UAs of a band
extern "C" __declspec(dllimport) void SkbGetBandChar(int bandid, char* bchar27);
extern "C" __declspec(dllimport) int SkbGetUas(int bandid, int** tuas_ret);


and the intel set of instructions is required (using several native instructions).

often, an exchange structure is needed as here to get a grid in it's min lexiclcal morph
Hidden Text: Show
Code: Select all
//================ First call to get auto morphs
extern "C" __declspec(dllimport) TPGC * SkbsSetModeWithAutos();
 
TPGC *        return value for the pointer to the table

struct TPGC { char t[648][19]; int nt;BANDPERM* tpe[3];}*p_tpgc;
p_tpgc=SkbsSetModeWithAutos();


I have no API calls and I don't have the skills to do the job, but all sources are available.

==================== regarding the naming functions

This program uses several DLLs (including the virtual min lexical catalog) but this is a draft for the naming functions et I know that I have to design a DLL with the relevant calls in due time.
In my local version, I have other function needed to do some tasks of my current work on the high ratings.

I released this first draft to give to "coloin" access to the naming functions, but this can not work for potential users in LINUX.

Building a DLL can be done in 2/3 days if this becomes a priority. It should have as main call

go from a sudoku to {ED sudoku;rank;bitfield;19byte name }
go from 19 to ..
go from 25 to ...

so likely an exchange struct {ED sudoku;rank;bitfield;19byte name }

I don't see much more for a DLL.

BTW, using the DLL to build, the user must have all DLLs called here, so, all entries in these DLLs are allowed
champagne
2017 Supporter
 
Posts: 7773
Joined: 02 August 2007
Location: France Brittany

Previous

Return to Software