From ec08c07e44bb0c83a63ec049864b4bbb1b431cbc Mon Sep 17 00:00:00 2001 From: Abdoulbari ZAKIR Date: Tue, 21 Nov 2023 19:27:40 +0100 Subject: [PATCH] ok --- .../spx_calculer_erbmoins1_avec_base_complete.c | 6 +++++- .../spx_calculer_erbmoins1_avec_base_reduite.c | 10 +++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_complete.c b/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_complete.c index 9a94e87..ba01656 100644 --- a/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_complete.c +++ b/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_complete.c @@ -36,6 +36,9 @@ void SPX_CalculerErBMoins1AvecBaseComplete( PROBLEME_SPX * Spx, char CalculEnHyp { char TypeDEntree; char TypeDeSortie; int i; double * ErBMoinsUn; +callback_function call_back = SPXgetcbmessage(Spx); +char msg [SIRIUS_CALLBACK_BUFFER_SIZE]; + if ( CalculEnHyperCreux != OUI_SPX ) { TypeDEntree = VECTEUR_LU; TypeDeSortie = VECTEUR_LU; @@ -66,7 +69,8 @@ if ( CalculEnHyperCreux == OUI_SPX ) { */ if ( Spx->NbEchecsErBMoins >= SEUIL_ECHEC_CREUX ) { # if VERBOSE_SPX - printf("Arret de l'hyper creux pour le calcul de la ligne pivot, iteration %d\n",Spx->Iteration); + snprintf(msg, SIRIUS_CALLBACK_BUFFER_SIZE, "Arret de l'hyper creux pour le calcul de la ligne pivot, iteration %d\n",Spx->Iteration); + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_INFO); # endif Spx->CalculErBMoinsUnEnHyperCreux = NON_SPX; Spx->CountEchecsErBMoins = 0; diff --git a/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_reduite.c b/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_reduite.c index 06f4001..2ef5b75 100644 --- a/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_reduite.c +++ b/src/SIMPLEXE/spx_calculer_erbmoins1_avec_base_reduite.c @@ -64,6 +64,9 @@ LigneDeLaBaseFactorisee = Spx->LigneDeLaBaseFactorisee; CntVarSor = ContrainteDeLaVariableEnBase[Spx->VariableSortante]; ResoudreLeSystemeReduit = NON_SPX; +callback_function call_back = SPXgetcbmessage(Spx); +char msg [SIRIUS_CALLBACK_BUFFER_SIZE]; + /* Remarque: a ce stade toutes les AReduit composantes de sont nulles */ if ( CalculEnHyperCreux != OUI_SPX ) { @@ -78,7 +81,7 @@ if ( CalculEnHyperCreux != OUI_SPX ) { } else { /* Ca ne peut pas arriver */ - printf("CalculerErBMoins1AvecBaseReduite bug: variable sortante hors base reduite impossible\n"); + call_back(Spx->something_from_the_caller, "CalculerErBMoins1AvecBaseReduite bug: variable sortante hors base reduite impossible\n", 0, SIRIUS_FATAL); exit(0); } } @@ -97,7 +100,7 @@ else { } else { /* Ca ne peut pas arriver */ - printf("CalculerErBMoins1AvecBaseReduite bug: variable sortante hors base reduite impossible\n"); + call_back(Spx->something_from_the_caller, "CalculerErBMoins1AvecBaseReduite bug: variable sortante hors base reduite impossible\n", 0, SIRIUS_FATAL); exit(0); } } @@ -144,7 +147,8 @@ if ( CalculEnHyperCreux == OUI_SPX ) { */ if ( Spx->NbEchecsErBMoins >= SEUIL_ECHEC_CREUX ) { # if VERBOSE_SPX - printf("Arret de l'hyper creux pour le calcul de la ligne pivot, iteration %d\n",Spx->Iteration); + snprintf(msg, SIRIUS_CALLBACK_BUFFER_SIZE, "Arret de l'hyper creux pour le calcul de la ligne pivot, iteration %d\n",Spx->Iteration); + call_back(Spx->something_from_the_caller, msg, 0, SIRIUS_INFO); # endif Spx->CalculErBMoinsUnEnHyperCreux = NON_SPX; Spx->CountEchecsErBMoins = 0;