summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortorset2009-02-18 13:30:04 +0000
committertorset2009-02-18 13:30:04 +0000
commitffa2c8995f2f1be3e3e8727a2c1aacbc2fbab2d1 (patch)
tree7274e1bb42b5a61dd639671ed3ac06508685a16a
parentfcad9604de8d50b74d324a99a6905653dc906f71 (diff)
downloadscilab2c-ffa2c8995f2f1be3e3e8727a2c1aacbc2fbab2d1.tar.gz
scilab2c-ffa2c8995f2f1be3e3e8727a2c1aacbc2fbab2d1.tar.bz2
scilab2c-ffa2c8995f2f1be3e3e8727a2c1aacbc2fbab2d1.zip
Update
-rw-r--r--scilab2c/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci19
-rw-r--r--scilab2c/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc14
-rw-r--r--scilab2c/src/auxiliaryFunctions/interfaces/int_max.h33
-rw-r--r--scilab2c/src/auxiliaryFunctions/interfaces/int_min.h33
-rw-r--r--scilab2c/src/statisticsFunctions/interfaces/int_statMax.h37
-rw-r--r--scilab2c/src/statisticsFunctions/interfaces/int_statMin.h37
-rw-r--r--scilab2c/src/statisticsFunctions/min/testFloatMin.c4
7 files changed, 89 insertions, 88 deletions
diff --git a/scilab2c/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/scilab2c/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
index 7379e218..5d7af3a3 100644
--- a/scilab2c/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
+++ b/scilab2c/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
@@ -6,16 +6,25 @@ function mainfunction()
//reals
-disp(max(3,-2))
+disp(norm(3))
+disp(max(3,1))
+disp(max(3,2))
-disp(min(3,-2))
+
+disp(min(7))
+disp(min(7,1))
+disp(min(7,2))
a=[4 -2 4 8;-3 4 5 -1;1 -4 5 6; -7 -4 5 3]
-b=[2 7 1 4; 3 -5 4 8; 2 -6 9 7; 1 -2 3 -4]
-disp(max(a,b))
-disp(min(a,b))
+disp(max(a))
+disp(max(a,1))
+disp(max(a,2))
+
+disp(min(a))
+disp(min(a,1))
+disp(min(a,2))
endfunction
diff --git a/scilab2c/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc b/scilab2c/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
index 8e1cd74a..4c38ac68 100644
--- a/scilab2c/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
+++ b/scilab2c/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
@@ -420,7 +420,19 @@ SWSRCS = \
$(CSRCDIR)/cspec2a.c \
$(CSRCDIR)/dspec2a.c \
$(CSRCDIR)/sspec2a.c \
- $(CSRCDIR)/zspec2a.c
+ $(CSRCDIR)/zspec2a.c \
+ $(CSRCDIR)/smina.c \
+ $(CSRCDIR)/smaxa.c \
+ $(CSRCDIR)/srowmina.c \
+ $(CSRCDIR)/srowmaxa.c \
+ $(CSRCDIR)/scolumnmina.c \
+ $(CSRCDIR)/scolumnmaxa.c \
+ $(CSRCDIR)/dmina.c \
+ $(CSRCDIR)/dmaxa.c \
+ $(CSRCDIR)/drowmina.c \
+ $(CSRCDIR)/drowmaxa.c \
+ $(CSRCDIR)/dcolumnmina.c \
+ $(CSRCDIR)/dcolumnmaxa.c
diff --git a/scilab2c/src/auxiliaryFunctions/interfaces/int_max.h b/scilab2c/src/auxiliaryFunctions/interfaces/int_max.h
index a3f0562d..efef39d3 100644
--- a/scilab2c/src/auxiliaryFunctions/interfaces/int_max.h
+++ b/scilab2c/src/auxiliaryFunctions/interfaces/int_max.h
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -15,12 +15,39 @@
#ifndef __INT_MAX_H__
#define __INT_MAX_H__
+#define s0maxs0(in) in
+
+#define d0maxd0(in) in
+
+#define s2maxs0(in,size) smaxa(in,size[0]*size[1]);
+
+#define d2maxd0(in,size) dmaxa(in,size[0]*size[1]);
+
+
+
#define s0s0maxs0(in1,in2) max(in1,in2)
#define d0d0maxd0(in1,in2) max(in1,in2)
-#define s2s2maxs2(in,size,out) maxa(in1, size[0]*size[1], in2, size[0]*size[1], out)
+#define s2s2maxs2(in1,size1,in2,size2,out) maxa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define d2d2maxd2(in1,size1,in2,size2,out) maxa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
-#define d2d2maxd2(in,size,out) maxa(in1, size[0]*size[1], in2, size[0]*size[1], out)
+#define s2s0maxs2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+#define d2d0maxd2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
+ }
+
+#define s0s2maxs2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
+#define d0d2maxd2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
+ }
+
#endif /* !__INT_MAX_H__ */
diff --git a/scilab2c/src/auxiliaryFunctions/interfaces/int_min.h b/scilab2c/src/auxiliaryFunctions/interfaces/int_min.h
index d7c59c0c..d7bd5669 100644
--- a/scilab2c/src/auxiliaryFunctions/interfaces/int_min.h
+++ b/scilab2c/src/auxiliaryFunctions/interfaces/int_min.h
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2008-2008 - INRIA - Arnaud Torset
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -15,12 +15,39 @@
#ifndef __INT_MIN_H__
#define __INT_MIN_H__
+#define s0mins0(in) in
+
+#define d0mind0(in) in
+
+#define s2mins0(in,size) smina(in,size[0]*size[1]);
+
+#define d2mind0(in,size) dmina(in,size[0]*size[1]);
+
+
+
#define s0s0mins0(in1,in2) min(in1,in2)
#define d0d0mind0(in1,in2) min(in1,in2)
-#define s2s2mins2(in,size,out) mina(in1, size[0]*size[1], in2, size[0]*size[1], out)
+#define s2s2mins2(in1,size1,in2,size2,out) mina(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
+#define d2d2mind2(in1,size1,in2,size2,out) mina(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
+
-#define d2d2mind2(in,size,out) mina(in1, size[0]*size[1], in2, size[0]*size[1], out)
+#define s2s0mins2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+#define d2d0mind2(in1,size,in2,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
+ }
+
+#define s0s2mins2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
+#define d0d2mind2(in1,in2,size,out) {int i;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
+ }
+
#endif /* !__INT_MIN_H__ */
diff --git a/scilab2c/src/statisticsFunctions/interfaces/int_statMax.h b/scilab2c/src/statisticsFunctions/interfaces/int_statMax.h
deleted file mode 100644
index 8605911e..00000000
--- a/scilab2c/src/statisticsFunctions/interfaces/int_statMax.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_STATMAX_H__
-#define __INT_STATMAX_H__
-
-#define s0maxs0(in) smaxs(in)
-
-#define d0maxd0(in) dmaxs(in)
-
-#define s2maxs0(in,size) smaxa(in, size[0]*size[1])
-
-#define d2maxd0(in,size) dmaxa(in, size[0]*size[1])
-
-
-
-#define s0s0maxs0(in1,in2) smaxs(in1)
-
-#define d0d0maxd0(in1,in2) dmaxs(in1)
-
-#define s2s0maxs2(in1,size,in2,out) (in2==2) ? scolumnmaxa(in1, size[0], size[1], out) : srowmaxa(in1, size[0], size[1], out)
-
-#define d2d0maxd2(in1,size,in2,out) (in2==2) ? dcolumnmaxa(in1, size[0], size[1], out) : drowmaxa(in1, size[0], size[1], out)
-
-
-#endif /* !__INT_STATMAX_H__ */
diff --git a/scilab2c/src/statisticsFunctions/interfaces/int_statMin.h b/scilab2c/src/statisticsFunctions/interfaces/int_statMin.h
deleted file mode 100644
index 3a8e97d8..00000000
--- a/scilab2c/src/statisticsFunctions/interfaces/int_statMin.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_STATMIN_H__
-#define __INT_STATMIN_H__
-
-#define s0mins0(in) smins(in)
-
-#define d0mind0(in) dmins(in)
-
-#define s2mins0(in,size) smina(in, size[0]*size[1])
-
-#define d2mind0(in,size) dmina(in, size[0]*size[1])
-
-
-
-#define s0s0mins0(in1,in2) smins(in1)
-
-#define d0d0mind0(in1,in2) dmins(in1)
-
-#define s2s0mins2(in1,size,in2,out) (in2==2) ? scolumnmina(in1, size[0], size[1], out) : srowmina(in1, size[0], size[1], out)
-
-#define d2d0mind2(in1,size,in2,out) (in2==2) ? dcolumnmina(in1, size[0], size[1], out) : drowmina(in1, size[0], size[1], out)
-
-
-#endif /* !__INT_STATMIN_H__ */
diff --git a/scilab2c/src/statisticsFunctions/min/testFloatMin.c b/scilab2c/src/statisticsFunctions/min/testFloatMin.c
index 28540d64..70022a6d 100644
--- a/scilab2c/src/statisticsFunctions/min/testFloatMin.c
+++ b/scilab2c/src/statisticsFunctions/min/testFloatMin.c
@@ -55,9 +55,9 @@ static void srowminaTest(void){
static void scolumnminaTest(void){
float in[12]={4,5,7,1,2,6,4,1,2,5,4,3};
float out1[1],out2[2],out3[3],out4[4],out6[6],out12[12];
- float result2[2]={1,1};
+ float result2[2]={2,1};
float result3[3]={1,1,2};
- float result4[4]={4,1,1,3};
+ float result4[4]={2,5,4,1};
float result6[6]={4,1,2,1,2,3};
int i;