File libpano-gcc15.patch of Package libpano

Index: libpano13-2.9.22/filter.h
===================================================================
--- libpano13-2.9.22.orig/filter.h
+++ libpano13-2.9.22/filter.h
@@ -410,7 +410,7 @@ struct LMStruct{								// Parameters us
 
 // function to minimize in Levenberg-Marquardt solver
 
-typedef		int (*lmfunc)();	
+typedef int (*lmfunc)(int m, int n, double x[], double fvec[], int *iflag);
 
 struct triangle
 {
@@ -776,13 +776,19 @@ PANO13_IMPEX void 	matrix_mult			( doubl
 PANO13_IMPEX void 	matrix_inv_mult		( double m[3][3], double vector[3] );
 PANO13_IMPEX double 	smallestRoot		( double *p );
 PANO13_IMPEX void 	SetCorrectionRadius	( cPrefs *cP );
-PANO13_IMPEX int		lmdif				();
+PANO13_IMPEX int    lmdif(int m, int n, double x[], double fvec[],
+                          double ftol, double xtol, double gtol,
+                          int maxfev, double epsfcn, double diag[],
+                          int mode, double factor, int nprint,
+                          int *info, int *nfev, double fjac[],
+                          int ldfjac, int ipvt[], double qtf[],
+                          double wa1[], double wa2[], double wa3[], double wa4[]);
 PANO13_IMPEX void	fourier				( TrformStr *TrPtr, cPrefs *cP );
 PANO13_IMPEX unsigned short 	gamma_correct( double pix );
 PANO13_IMPEX int 	EqualCPrefs( cPrefs *c1, cPrefs *c2 );
 PANO13_IMPEX double 	OverlapRMS			( MultiLayerImage *mim );
 PANO13_IMPEX double 	distSquared			( int num ); 
-PANO13_IMPEX int		fcnPano();
+PANO13_IMPEX int    fcnPano(int m, int n, double x[], double fvec[], int *iflag);
 PANO13_IMPEX int		EvaluateControlPointError ( int num, double *errptr, double errComponent[2]);
 PANO13_IMPEX void 	doCoordinateTransform( CoordInfo *c, tMatrix *t );
 PANO13_IMPEX void 	findOptimumtMatrix( transformCoord *tP, tMatrix *tM, lmfunc f);
--- libpano13-2.9.22.orig/lmdif.c	2025-06-05 11:11:03.600393341 +0000
+++ libpano13-2.9.22/lmdif.c	2025-06-05 11:15:03.737777100 +0000
@@ -11,6 +11,7 @@
  */
 #include "filter.h"
 #include <float.h>
+#include <math.h>
 
 extern lmfunc fcn;
 
@@ -1222,7 +1223,6 @@ double cos,cotan,qtbpj,sin,sum,tan,temp;
 static double zero = 0.0;
 static double p25 = 0.25;
 static double p5 = 0.5;
-double fabs(), sqrt();
 
 /*
 *     copy r and (q transpose)*b to preserve input and initialize s.
@@ -1416,7 +1416,6 @@ static double rdwarf = 3.834e-20;
 static double rgiant = 1.304e19;
 static double zero = 0.0;
 static double one = 1.0;
-double fabs(), sqrt();
 
 s1 = zero;
 s2 = zero;

openSUSE Build Service is sponsored by