view src/of-fl-core-1-fixes.patch @ 4654:b9e4ebcad82f

disable doc extraction for optim package Disable the rules for extracting doc strings because they don't work when cross compiling. Our patches to the source files don't touch the doc strings, so there is no need to update them anyway.
author John W. Eaton <jwe@octave.org>
date Tue, 10 Apr 2018 07:50:10 -0400
parents b54e00ea56bc
children
line wrap: on
line source

diff -ur fl-core.orig/src/fl_compose.cc fl-core/src/fl_compose.cc
--- fl-core.orig/src/fl_compose.cc	2015-10-02 10:13:53.044225859 -0400
+++ fl-core/src/fl_compose.cc	2015-10-02 10:22:05.635130470 -0400
@@ -63,14 +63,14 @@
 // Structure for thread arguments. Each thread will perform the computation between the start_index and end_index row.
 struct threadArg
 {
-	int start_index;
-	int end_index;
+	octave_idx_type start_index;
+	octave_idx_type end_index;
 };
 
 
 // Functions prototype declaration
-float get_elem(float vec[], int row, int col,int numCols);
-void set_elem(float vec[], int row, int col, int numCols, float elem);
+float get_elem(float vec[], octave_idx_type row, octave_idx_type col,octave_idx_type numCols);
+void set_elem(float vec[], octave_idx_type row, octave_idx_type col, octave_idx_type numCols, float elem);
 int is_valid_function(octave_function *func);
 void *thread_function(void *arg);
 int get_available_cpus();
@@ -110,13 +110,13 @@
 SparseMatrix sparseC;
 
 // Matrices dimensions
-long int rowsA,rowsB,colsA,colsB,rowsC,colsC;
+octave_idx_type rowsA,rowsB,colsA,colsB,rowsC,colsC;
 
 // Lock option. 1 = calculation executed only for the diagonal of the matrix
 int lock_option;
 
 // The increment 
-int col_index_increment;
+octave_idx_type col_index_increment;
 
 // Number of threads that will be created
 int num_threads;
@@ -357,8 +357,9 @@
 	else
 	{	
 		Matrix outMatrix(rowsC,colsC);
-		for(int i=0;i<rowsC;i++)
-			for(int j=0;j<colsC;j++)
+
+		for(octave_idx_type i=0;i<rowsC;i++)
+			for(octave_idx_type j=0;j<colsC;j++)
 				outMatrix(i,j) = get_elem(c,i,j,colsC);
 		
 		if(sparse_res)
@@ -390,15 +391,15 @@
 	// Initialize the first matrix
 	Matrix tempMatrix = args(0).matrix_value();
 	a = new float[rowsA*colsA];
-	for (int i=0; i<rowsA; i++)
-		for(int j=0; j<colsA;j++)
+	for (octave_idx_type i=0; i<rowsA; i++)
+		for(octave_idx_type j=0; j<colsA;j++)
 			a[i*colsA+j] = tempMatrix(i,j);
 
 	// Initialize the second matrix
 	tempMatrix = args(1).matrix_value();
 	b = new float[rowsB*colsB];
-	for (int i=0; i<rowsB; i++)
-		for(int j=0; j<colsB;j++)
+	for (octave_idx_type i=0; i<rowsB; i++)
+		for(octave_idx_type j=0; j<colsB;j++)
 			b[i*colsB+j] = tempMatrix(i,j);
 	
 
@@ -418,7 +419,7 @@
 	}
 
 	// Define the number interval of rows for each thread		
-	int interval = rowsA / num_threads;	
+	octave_idx_type interval = rowsA / num_threads;	
 			
 	int i;
 	// Define the threads
@@ -465,22 +466,22 @@
 	float tnorm_val;	
 
 	// Initialize the result sparse matrix
-	sparseC = SparseMatrix((int)colsB, (int)rowsA, (int)(colsB*rowsA));
+	sparseC = SparseMatrix(colsB, rowsA, (colsB*rowsA));
 
         // Initialize the number of nonzero elements in the sparse matrix c
         int nel = 0;
         sparseC.xcidx(0) = 0;
 
 	// Calculate the composition for each element
-        for (int i = 0; i < rowsC; i++)
+        for (octave_idx_type i = 0; i < rowsC; i++)
         {
-            for(int j = 0; j < colsC; j++)
+            for(octave_idx_type j = 0; j < colsC; j++)
             {
                 
 		// Get the index of the first element of the i-th column of a transpose (i-th row of a)
 		// and the index of the first element of the j-th column of b
-		int ka = a.cidx(i);
-		int kb = b.cidx(j);
+		octave_idx_type ka = a.cidx(i);
+		octave_idx_type kb = b.cidx(j);
 		snorm_val = 0;
 	
 		// Check if the values of the matrix are really not 0 (it happens if the column of a or b hasn't any value)
@@ -549,18 +550,18 @@
 	float tnorm_val;	
 	
 	// Get the row start_index and end_index 
-	int start_index = thread_args->start_index;
-	int end_index = thread_args->end_index;
+	octave_idx_type start_index = thread_args->start_index;
+	octave_idx_type end_index = thread_args->end_index;
 	
 
 	// Calculate the composition for the specified rows (between start_index and end_index)
-	for (int i=start_index; i<end_index; i++)
+	for (octave_idx_type i=start_index; i<end_index; i++)
 	{		
-		for(int j=lock_option*i; j<colsB; j=j+col_index_increment)
+		for(octave_idx_type j=lock_option*i; j<colsB; j=j+col_index_increment)
 		{
 			snorm_val = calc_tnorm(get_elem(a,i,0,colsA),get_elem(b,0,j,colsB));
 
-			for(int k=1; k<colsA; k++)
+			for(octave_idx_type k=1; k<colsA; k++)
 			{					
 				tnorm_val = calc_tnorm(get_elem(a,i,k,colsA),get_elem(b,k,j,colsB)); 
 				snorm_val = calc_snorm(snorm_val,tnorm_val);
@@ -767,7 +768,7 @@
 
 
 /* Get the (i,j)-th element from the vector vec. The column number of the original matrix (numCols) is required */
-float get_elem(float vec[], int row, int col,int numCols)
+float get_elem(float vec[], octave_idx_type row, octave_idx_type col,octave_idx_type numCols)
 {
 	return vec[row*numCols+col];
 }
@@ -775,7 +776,7 @@
 
 
 /* Set the (i,j)-th element from the vector vec. The column number of the original matrix (numCols) is required */
-void set_elem(float vec[], int row, int col, int numCols, float elem)
+void set_elem(float vec[], octave_idx_type row, octave_idx_type col, octave_idx_type numCols, float elem)
 {
 	vec[row*numCols+col] = elem;
 	return;
diff -ur fl-core.orig/src/Makefile fl-core/src/Makefile
--- fl-core.orig/src/Makefile	2015-10-02 10:13:53.044225859 -0400
+++ fl-core/src/Makefile	2015-10-02 10:16:20.899198805 -0400
@@ -1,15 +1,23 @@
 OCT = fl_compose.oct
 SRC := $(OCT:.oct=.cc)
 BASE := $(OCT:.oct=)
-ifdef COMSPEC 
-	ADDPARAM := -lpthreadVC2
+
+MKOCTFILE ?= mkoctfile
+OCTAVE_CONFIG ?= octave-config
+
+ifneq (,$(findstring mingw,$(shell $(OCTAVE_CONFIG) -p CANONICAL_HOST_TYPE)))
+	ADDPARAM := -lpthread
+else
+ ifdef COMSPEC 
+ 	ADDPARAM := -lpthreadVC2
+ endif
 endif
 
 .phony: all
 all: $(OCT)
 
 %.oct: %.cc
-	mkoctfile -s $< $(ADDPARAM)
+	$(MKOCTFILE) -s $< $(ADDPARAM)
 
 .phony: clean
 clean: