Système de Calculs Matriciels général (V1.0.1)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Système de Calculs Matriciels général (V1.0.1)

Message par Guimauve »

Bonjour à tous,

Je mets à disposition ici une librairie de calcul matriciel dit général puisque cette dernière peut traiter les matrices de tout format. Bien entendu, les règles mathématique à propos des calculs matricielles doivent être respectés. Exemple : on ne peut pas additionner une matrice 2X2 avec une 3X3.

Édit : Le code source est désormais disponible en téléchargement http://pages.videotron.com/gsaumure/fil ... Matrix.zip

Édit 2 : L'archive viens d'être mise à jour. Je prévois également produire des pages d'aides html sur la librairie Matrix durant les prochains jours. De plus, le système de Courbes et surfaces est trop compliqué et ne fera pas partie de la librairie Matrix. Je prévois plutôt produire une librairie séparée mais dépendante de la librairie Matrix et probablement quelques autres en plus.

Édit 3 : Version 1.0.1, Quoi dire, j'ai ajouté quelques commandes, corrigé un problème de fuite mémoire et terminé la version anglaise des pages d'aide. La version française de l'aide ne sera pas prête avant encore une semaine.

A+
Guimauve
Dernière modification par Guimauve le mar. 17/janv./2012 19:00, modifié 7 fois.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.5)

Message par Guimauve »

Bonjour à tous,

Voir le lien de téléchargement dans le premier message.

A+
Guimauve
Dernière modification par Guimauve le ven. 19/août/2011 1:35, modifié 1 fois.
Avatar de l’utilisateur
Ganagyre
Messages : 67
Inscription : jeu. 09/nov./2006 13:41
Localisation : PACA

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Ganagyre »

Bonjour Guimauve.

J'obtiens le message suivant :

Expression est trop complexe // manque de registres CPU :?:

Dans la procedure :
Procedure ExtractMatrixDiagonal(*Diagonal.Matrix, *MatrixA.Matrix)

+
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Système de Calculs Matriciels général (V0.9.7)

Message par G-Rom »

idem

Procedure ExtractMatrixDiagonal(*Diagonal.Matrix, *MatrixA.Matrix)

MinValue(Min.u, GetMatrixLine(*MatrixA), GetMatrixRow(*MatrixA))

CreateNewMatrix(*Diagonal, Min, 1, "ExtractMatrixDiagonal()")

For PivotID = 0 To Min - 1
Private_SetMatrixElement(*MatrixA, PivotID, 0, Private_GetMatrixElement(*MatrixA, PivotID, PivotID))
Next

EndProcedure
Too complex expression ( out of cpu registers ) , please split it.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

Bon !!!

Je vais voir ce qui cloche, puisque chez moi cette fonction retourne un vecteur avec uniquement des zéros.
Je n'ai pas de message d'erreur.

Edit : Est-ce que vous pouvez remplacer le code de la commande ExtractMatrixDiagonal() présent dans la librairie par celui-ci
et voir si le problème persiste.

Code : Tout sélectionner

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The ExtractMatrixDiagonal Operator <<<<<

Procedure ExtractMatrixDiagonal(*Diagonal.Matrix, *MatrixA.Matrix)
  
  MinValue(Min.u, GetMatrixLine(*MatrixA), GetMatrixRow(*MatrixA))

  CreateNewMatrix(*Diagonal, Min, 1, "ExtractMatrixDiagonal()")
  
  For PivotID = 0 To Min - 1
    Private_SetMatrixElement(*Diagonal, PivotID, 0, Private_GetMatrixElement(*MatrixA, PivotID, PivotID))
  Next
  
EndProcedure
De plus, je suis arrivé à la version 0.9.8, je la mettrai en ligne après la correction de ce problème.

A+
Guimauve
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

Re-Bonjour

Chez moi, avec le code corrigé pour la commande ExtractMatrixDiagonal(), cet exemple :

Code : Tout sélectionner

IncludeFile "Maths Matrix Calculation.pb"

Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; Random Matrix"

RandomMatrix(RandomMatrix.Matrix, 5, 5, -9.0, 9.0)
DebugMatrix(RandomMatrix)

Debug ""
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; Random Matrix Diagonal"

ExtractMatrixDiagonal(Diagonal.Matrix, RandomMatrix)
DebugMatrix(Diagonal)

Debug ""
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; <<<<< END OF DEMONSTRATION <<<<<"
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Affiche dans la fenêtre de débogage ceci :
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Random Matrix
[-1.285, 0.007, -5.576, 8.609, 7.069]
[4.991, 4.626, 8.026, 2.711, 2.014]
[-4.016, 7.819, 5.443, -0.306, -8.743]
[-8.276, -1.899, -7.180, 4.653, -4.687]
[8.080, -2.471, 4.455, 5.375, 3.780]

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Random Matrix Diagonal
[-1.285]
[4.626]
[5.443]
[4.653]
[3.780]

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF DEMONSTRATION <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Je trouve ça très bizarre que vous ayez un message d'erreur du genre : Too complex expression ( out of cpu registers ) , please split it.

Mais par curiosité, sur quelle machine exécutez-vous le code de démonstration, quel version de PB ?

A+
Guimauve
Dernière modification par Guimauve le jeu. 18/août/2011 17:02, modifié 1 fois.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Système de Calculs Matriciels général (V0.9.7)

Message par graph100 »

ca le fait toujours, même avec la petite correction que tu as faites.

J'ai PB 4.60beta3 x86 sur un win7 64bit
C'est une erreur de macro.
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

Et c'est la seule commande qui bogue ?


Edit :

Tiens j'ai une idée, fait un autre essai avec ce code :

Code : Tout sélectionner

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The ExtractMatrixDiagonal Operator <<<<<

Procedure ExtractMatrixDiagonal(*Diagonal.Matrix, *MatrixA.Matrix)
  
  MinValue(Min.u, GetMatrixLine(*MatrixA), GetMatrixRow(*MatrixA))
  
  CreateNewMatrix(*Diagonal, Min, 1, "ExtractMatrixDiagonal()")
  
  For PivotID = 0 To Min - 1
    Element.d = Private_GetMatrixElement(*MatrixA, PivotID, PivotID)
    Debug Element
    Private_SetMatrixElement(*Diagonal, PivotID, 0, Element)
  Next
  
EndProcedure
Et dit moi ce qui ce passe.

Merci à l'avance.

A+
Guimauve
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Système de Calculs Matriciels général (V0.9.7)

Message par G-Rom »

Toujours pareil , Linux x86 , pb 4.51
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

J'ai bien l'impression qu'il s'agit d'un problème avec les pointeurs désignés par les variables de type Integer (*.i) qui semblent être mal interprété par PB x32 tournant sur une machine x64.
Présentement, je n'arrive pas reproduire le bogue mentionné. Je mets une version minimale avec la commande qui semble problématique. Ce que j'aimerais savoir c'est quelle Macro qui bogue parce que là, cela défie toute logique. Je ne comprends pas ce qui se passe.

Code : Tout sélectionner

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Minimum of two Values

Macro MinValue(P_Min, P_Value01, P_Value02)
	
	P_Min = P_Value01
	
	If P_Value02 < P_Min
		P_Min = P_Value02
	EndIf
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Random Min Max Real (Float or Double)

Macro RandomMinMaxReal(Min, Max, Resolution = 10000)
	
	((Min) + ((Max) - (Min)) * Random(Resolution) / (Resolution))
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; NewLongVector

Macro NewLongVector(ElementCount)
	
	AllocateMemory((ElementCount) * SizeOf(Long))
	
EndMacro 

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; DeleteLongVector

Macro DeleteLongVector(StartPtr)
	
	If StartPtr <> #Null
		FreeMemory(StartPtr)
	EndIf
	
EndMacro 

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; ReachLongVectorElement

Macro ReachLongVectorElement(StartPtr, Index)
	
	(StartPtr + Index * SizeOf(Long))
	
EndMacro 

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; SetLongVectorElement

Macro SetLongVectorElement(StartPtr, Index, Value)
	
	PokeL(ReachLongVectorElement(StartPtr, Index), Value)
	
EndMacro 

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; GetLongVectorElement

Macro GetLongVectorElement(StartPtr, Index)
	
	PeekL(ReachLongVectorElement(StartPtr, Index))
	
EndMacro 

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Structure declaration <<<<<

Structure Matrix
	
	Line.u
	Row.u
	Size.q
	Elements.i
	
EndStructure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The observators <<<<<

Macro GetMatrixLine(MatrixA)
	
	MatrixA\Line
	
EndMacro

Macro GetMatrixRow(MatrixA)
	
	MatrixA\Row
	
EndMacro

Macro GetMatrixSize(MatrixA)
	
	MatrixA\Size
	
EndMacro

Macro GetMatrixElements(MatrixA)
	
	MatrixA\Elements
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The mutators <<<<<

Macro SetMatrixLine(MatrixA, P_Line)
	
	GetMatrixLine(MatrixA) = P_Line
	
EndMacro

Macro SetMatrixRow(MatrixA, P_Row)
	
	GetMatrixRow(MatrixA) = P_Row
	
EndMacro

Macro SetMatrixSize(MatrixA, P_Size)
	
	GetMatrixSize(MatrixA) = P_Size
	
EndMacro

Macro SetMatrixElements(MatrixA, P_Elements)
	
	GetMatrixElements(MatrixA) = P_Elements
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Complentemary Macros for Datas <<<<<

Macro ReachMatrixElement(MatrixA, OffsetID)
	
	(GetMatrixElements(MatrixA) + OffsetID * SizeOf(Double))
	
EndMacro

Macro AllocateMatrixElementsMemory(MatrixA)
	
	SetMatrixElements(MatrixA, AllocateMemory(GetMatrixSize(MatrixA) * SizeOf(Double)))
	
EndMacro

Macro MemoryMatrixElementsSize(MatrixA)
	
	MemorySize(GetMatrixElements(MatrixA))
	
EndMacro

Macro LastMatrixElements(MatrixA)
	
	((MemorySize(GetMatrixElements(MatrixA)) / SizeOf(Double)) - 1)
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The Reset operator <<<<<

Macro ResetMatrix(MatrixA)
	
	SetMatrixLine(MatrixA, 0)
	SetMatrixRow(MatrixA, 0)
	SetMatrixSize(MatrixA, 0)
	
	If GetMatrixElements(MatrixA) <> #Null
		FreeMemory(GetMatrixElements(MatrixA))
		SetMatrixElements(MatrixA, 0)
	EndIf
	
	; ClearStructure(MatrixA, Matrix)
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The Copy Operator : A = Source : B = Destination <<<<<

Macro CopyMatrix(MatrixA, MatrixB)
	
	SetMatrixLine(MatrixB, GetMatrixLine(MatrixA))
	SetMatrixRow(MatrixB, GetMatrixRow(MatrixA))
	SetMatrixSize(MatrixB, GetMatrixSize(MatrixA))
	
	If GetMatrixElements(MatrixB) <> #Null
		FreeMemory(GetMatrixElements(MatrixB))
	EndIf 
	
	AllocateMatrixElementsMemory(MatrixB)
	
	If GetMatrixElements(MatrixB) <> #Null
		CopyMemory(GetMatrixElements(MatrixA), GetMatrixElements(MatrixB), MemorySize(GetMatrixElements(MatrixA)))
	EndIf 
	
EndMacro

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The Offset 2D to 1D calculation <<<<<

Procedure.q CalulateOffset1D(RowMax.u, LineID.u, RowID.u)
	
	If LineID = 0 And RowID = 0
		Offset1D.q = 0
	ElseIf RowID > 0
		Offset1D = RowID + LineID * RowMax
	ElseIf LineID > 0 
		Offset1D = LineID * RowMax
	EndIf
	
	ProcedureReturn Offset1D
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Matrix Element Mutator <<<<<

Macro Private_SetMatrixElement(MatrixA, P_Line, P_Row, P_Element)
	
	PokeD(ReachMatrixElement(MatrixA, CalulateOffset1D(GetMatrixRow(MatrixA), P_Line, P_Row)), P_Element)
	
EndMacro

Procedure SetMatrixElement(*MatrixA.Matrix, P_Line.u, P_Row.u, P_Element.d)
	
	If P_Line <= GetMatrixLine(*MatrixA) - 1 And P_Row <= GetMatrixRow(*MatrixA) - 1
		
		Private_SetMatrixElement(*MatrixA, P_Line, P_Row, P_Element)
		
	EndIf
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Matrix Element Observator <<<<<

Macro Private_GetMatrixElement(MatrixA, P_Line, P_Row)
	
	PeekD(ReachMatrixElement(MatrixA, CalulateOffset1D(GetMatrixRow(MatrixA), P_Line, P_Row)))
	
EndMacro

Procedure.d GetMatrixElement(*MatrixA.Matrix, P_Line.u, P_Row.u)
	
	If P_Line <= GetMatrixLine(*MatrixA) - 1 And P_Row <= GetMatrixRow(*MatrixA) - 1
		
		P_Element.d = Private_GetMatrixElement(*MatrixA, P_Line, P_Row)
		
	EndIf
	
	ProcedureReturn P_Element
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The CreateNewMatrix Operator <<<<<

Procedure CreateNewMatrix(*MatrixA.Matrix, P_Line.u, P_Row.u, CreatorCommand.s = "CreateNewMatrix()")
	
	If P_Line < 1
		P_Line = 1
	EndIf 
	
	If P_Row < 1
		P_Row = 1
	EndIf   
	
	If GetMatrixElements(*MatrixA) <> #Null
		ResetMatrix(*MatrixA)
	EndIf
	
	SetMatrixLine(*MatrixA, P_Line)
	SetMatrixRow(*MatrixA, P_Row)
	SetMatrixSize(*MatrixA, GetMatrixLine(*MatrixA) * GetMatrixRow(*MatrixA))
	
	AllocateMatrixElementsMemory(*MatrixA)
	
	If GetMatrixElements(*MatrixA) = #Null
		MessageRequester("Fatal Error",  CreatorCommand + " - Impossible To Allocate Memory !")
		End
	EndIf
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The ZeroMatrix Operator <<<<<

Procedure ZeroMatrix(*MatrixA.Matrix, P_Line.u, P_Row.u)
	
	CreateNewMatrix(*MatrixA, P_Line, P_Row, "ZeroMatrix()")
	
	For OffsetID = 0 To GetMatrixSize(*MatrixA) - 1
		PokeD(ReachMatrixElement(*MatrixA, OffsetID), 0.0)
	Next
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The OneMatrix Operator <<<<<

Procedure OneMatrix(*MatrixA.Matrix, P_Line.u, P_Row.u)
	
	CreateNewMatrix(*MatrixA, P_Line, P_Row, "OneMatrix()")
	
	For OffsetID = 0 To GetMatrixSize(*MatrixA) - 1
		PokeD(ReachMatrixElement(*MatrixA, OffsetID), 1.0)
	Next
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The RandomMatrix Operator <<<<<

Procedure RandomMatrix(*MatrixA.Matrix, P_Line.u, P_Row.u, P_Min.d, P_Max.d, P_Resolution.l = 10000)
	
	CreateNewMatrix(*MatrixA, P_Line, P_Row, "RandomMatrix()")
	
	For OffsetID = 0 To GetMatrixSize(*MatrixA) - 1
		PokeD(ReachMatrixElement(*MatrixA, OffsetID), RandomMinMaxReal(P_Min, P_Max, P_Resolution))
	Next
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< The ExtractMatrixDiagonal Operator <<<<<

Procedure ExtractMatrixDiagonal(*Diagonal.Matrix, *MatrixA.Matrix)
	
	;MinValue(Min.u, GetMatrixLine(*MatrixA), GetMatrixRow(*MatrixA))
	
	Min = GetMatrixLine(*MatrixA)
	
	If GetMatrixRow(*MatrixA) < P_Min
		Min = GetMatrixRow(*MatrixA)
	EndIf
	
	ZeroMatrix(*Diagonal, Min, 1)
	
	For PivotID = 0 To Min - 1
		Element.d = Private_GetMatrixElement(*MatrixA, PivotID, PivotID)
		Debug Element
		Private_SetMatrixElement(*Diagonal, PivotID, 0, Element)
	Next
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< L'opérateur DebugMatrix <<<<<

Procedure DebugMatrix(*MatrixA.Matrix, P_Decimal.b = 3)
	
	For LineID = 0 To GetMatrixLine(*MatrixA) - 1
		
		For RowID = 0 To GetMatrixRow(*MatrixA) - 1
			
			Line.s = Line + StrD(Private_GetMatrixElement(*MatrixA, LineID, RowID), P_Decimal)
			
			If RowID < GetMatrixRow(*MatrixA) - 1
				Line + ", "
			EndIf
			
		Next
		
		Debug "[" + Line + "]"
		Line = ""
		
	Next
	
EndProcedure

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
; <<<<< !!! WARNING - YOU ARE NOW IN A TESTING ZONE - WARNING !!! <<<<< 
; <<<<< !!! WARNING - THIS CODE SHOULD BE COMMENTED - WARNING !!! <<<<< 
; <<<<< !!! WARNING - BEFORE THE FINAL COMPILATION. - WARNING !!! <<<<< 
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 

Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; Random Matrix"

RandomMatrix(RandomMatrix.Matrix, 5, 5, -9.0, 9.0)
DebugMatrix(RandomMatrix)

Debug ""
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; Random Matrix Diagonal"

ExtractMatrixDiagonal(Diagonal.Matrix, RandomMatrix)
DebugMatrix(Diagonal)

Debug ""
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Debug "; <<<<< END OF DEMONSTRATION <<<<<"
Debug "; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"

; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<
Je vais si je peux reproduire le problème.

A+
Guimauve
Dernière modification par Guimauve le jeu. 18/août/2011 19:08, modifié 1 fois.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Système de Calculs Matriciels général (V0.9.7)

Message par G-Rom »

utilise pastebin pour tes codes , le topic est devenu illisible. :?

http://pastebin.com/ :wink:
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

G-Rom a écrit :utilise pastebin pour tes codes , le topic est devenu illisible. :?

http://pastebin.com/ :wink:
Le code s'affiche correctement avec Firefox 6.0 et le PureBasic Forum Code de Erix14 1.6.0.2, c'est quoi le problème ?

A+ (peut-être)
Guimauve
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

Bon j'en ai marre... Les fichiers se trouvent à l'adresse suivante : http://pages.videotron.com/gsaumure/Maths_Matrix.zip

J'ai envoyé un message à Fred à ce sujet, j'attends une réponse. J'espère que vous êtes sûr qu'il s'agit bel et bien d'un bogue. Présentement, je n'ai pas vraiment le temps de pousser l'investigation plus loin. Il me reste les courbes de Bézier à segment multiple, les courbes B-Spline à segment unique et à segment multiple et les courbes NURBS à segment unique et à segment multiple à programmer. Ensuite, je passe aux surfaces donc j'ai pas vraiment le temps de chercher le pourquoi que de mon coté tout fonctionne et que du vôtre ça fonctionne pas.

A+
Guimauve
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Système de Calculs Matriciels général (V0.9.7)

Message par G-Rom »

Guimauve a écrit :
G-Rom a écrit :utilise pastebin pour tes codes , le topic est devenu illisible. :?

http://pastebin.com/ :wink:
Le code s'affiche correctement avec Firefox 6.0 et le PureBasic Forum Code de Erix14 1.6.0.2, c'est quoi le problème ?

A+ (peut-être)
Guimauve
j'ai 1 km d'ascenseur à descendre pour avoir le code , pastebin est spécialisé dans le code justement.

Guimauve a écrit : A+ (peut-être)
Guimauve
Te suicide pas pour ci peu :mrgreen:

Le pb viens peu être du fait que tu as un x64 et nous un x86 ?
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Système de Calculs Matriciels général (V0.9.7)

Message par Guimauve »

Ça n'a plus tellement d'importance puisque de toute façon, je donne un liens pour télécharger les fichiers les plus récents. C'est-à-dire ceux de la version 0.9.9.
Avec ça, plus d'histoire d'ascenseur de 99X10^6 km de long.

A+
Guimauve
Répondre