Extensions version 4


Spécification de la librairie dynamique accessoire.  
 
Nom de la DLL: "NeuroMath.dll"  
 
types spécifiques :  
      TNeuroneFonction = (_Activation, _Cost);  
      enum TNeuroneFonction = _Activation, _Cost;  

 
La librairie doit contenir deux fonctions d'interrogation :  
 
Function FunctionNumber(var IndexF, IndexD: integer; NF: TNeuroneFonction): Integer; stdCall;  
int __stdcall FunctionNumber(int & IndexF, int & IndexD, TNeuroneFonction NF);  

 

IN      NF : fonction d'activation ou fonction de coût  
OUT      IndexF : indice d'exportation de la première fonction du type  
OUT      IndexD : indice d'exportation de la première fonction dérivée du type  
retour      Nombre de fonctions du type à lire  

 
et  
 
Function FunctionName(Dest: PChar; Index: integer; NF: TNeuroneFonction): PChar; stdCall;  
char * __stdcall FunctionName(char * Dest, int Index, TNeuroneFonction NF)  
 

IN      NF : fonction d'activation ou fonction de coût  
IN      Index : indice de la fonction du type visée  
IN/OUT      Dest : Buffer de destination  
retour      Pointeur sur le buffer de destination.  

 

Cette fonction charge le nom de la fonction dans le buffer de destination.  
Le nom ne peut pas être une chaîne vide.  
 
Les fonctions d'activation et leurs dérivées doivent répondre au prototype :  
 
Function Function(X: Double; var code: Integer): Double; stdCall;  
double __stdcall Function(double A, int & code);  
 

IN      X : potentiel du neurone  
OUT      code: 0 si OK, code d'erreur sinon  
retour      l'activation calculée  

 
Les fonctions de coût et leurs dérivées doivent répondre au prototype :  
 
Function Function(A, B, C: Double; var code: Integer): Double; stdCall;  
double __stdcall Function(double A, double B, double C, int & code);  
 

IN      A : Valeur de sortie calculée  
IN      B : Valeur de sortie désirée  
IN      C : Paramètre à la disposition du développeur  
OUT      code : 0 si calcul OK, code d'erreur sinon  
retour le coût calculé  
 

 
 
Les fonctions doivent être exportées par la DLL avec l'indice d'exportation calculé à partir des informations données dans FunctionNumber et de l'indice de la fonction dans son type. Pour chaque nouvelle fonction, il faut fournir la fonction et sa dérivée.  
 

!!!!!!!!!!!!!! ATTENTION !!!!!!!!!!!!!!!!!  

 
La responsabilité du développeur est engagée dans le résultat de l'utilisation des fonctions ainsi définies. MONAL et Neuro One n'ont aucun moyen de gérer les exceptions éventuellement générées dans la DLL "NeuroMath" au cours des calculs. En cas d'exception dans cette DLL, le programme s'arrêtera. Cette éventualité peut facilement être évitée en capturant et en gérant les exceptions au sein même de la DLL.  
 
Présentation des extensions  
 

NETRAL - Neuro Fit 6