summaryrefslogtreecommitdiff
path: root/src/Scilab2C
diff options
context:
space:
mode:
Diffstat (limited to 'src/Scilab2C')
-rw-r--r--src/Scilab2C/SCI2CTests/Mes_tests/elementary Functions/mainfunctionACosh.sci4
-rw-r--r--src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci61
-rw-r--r--src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc7
-rw-r--r--src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h2
-rw-r--r--src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci22
5 files changed, 71 insertions, 25 deletions
diff --git a/src/Scilab2C/SCI2CTests/Mes_tests/elementary Functions/mainfunctionACosh.sci b/src/Scilab2C/SCI2CTests/Mes_tests/elementary Functions/mainfunctionACosh.sci
index 18106179..08739198 100644
--- a/src/Scilab2C/SCI2CTests/Mes_tests/elementary Functions/mainfunctionACosh.sci
+++ b/src/Scilab2C/SCI2CTests/Mes_tests/elementary Functions/mainfunctionACosh.sci
@@ -8,8 +8,8 @@ function mainfunction()
disp (acosh(7));
disp (acosh(2+11*%i))
-c=[4 2 3 ;8 8 4; 3 4 5]
-d=[4 2 3 ;8 8-1*%i 4; 3+4*%i 4 5]
+c=[4 2 3 ;8 8 4; 3 4 5];
+d=[4 2 3 ;8 8-1*%i 4; 3+4*%i 4 5];
disp (acosh(c))
disp (acosh(d))
diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
index 02b5c3a7..57a21ec9 100644
--- a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
+++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci
@@ -1,20 +1,57 @@
-//SCI2C: DEFAULT_PRECISION= DOUBLE
+//SCI2C: DEFAULT_PRECISION= FLOAT
+
+//test pow
function mainfunction()
-
-disp(real(4));
-disp(imag(4));
+//scalar^scalar
+disp(3.2^5.1)
+disp(3.2^(5.1+%i*1.4))
+disp((2.1+%i*0.3)^6.4)
+disp((2.1+%i*0.3)^(5.1+%i*1.4))
+
+//scalar.^scalar
+disp(3.2.^5.1)
+disp(3.2.^(5.1+%i*1.4))
+disp((2.1+%i*0.3).^6.4)
+disp((2.1+%i*0.3).^(5.1+%i*1.4))
+
+//scalar^matrice
+
+a=[1.2 6.1 3.6; 1.7 4.9 7.1];
+b=a+%i*[1.8 2.9 3.6; 5.5 7.3 4.1];
+
+disp(2.1^a)
+disp(2.3^b)
+disp((3.5+%i*2.5)^a)
+disp((3.5+%i*2.5)^b)
+
+//scalar.^matrice
+disp(2.1.^a)
+disp(2.3.^b)
+disp((3.5+%i*2.5).^a)
+disp((3.5+%i*2.5).^b)
+
+//matrix^scalar
+//matrice carrée attendue ici
+c=[1.2 6.1 ; 4.9 7.1];
+d=c+%i*[1.8 2.9 ; 5.5 7.3];
+disp(c^3.2)
+disp(c^(3.2+%i*5.4))
+disp(d^3.2)
+disp(d^(3.2+%i*5.4))
-disp(real(1+2*%i));
-disp(imag(1+2*%i));
+//matrix.^scalar
+disp(a.^3.2)
+disp(a.^(3.2+%i*5.4))
+disp(b.^3.2)
+disp(b.^(3.2+%i*5.4))
-a=[4 2 7 5;4 8 6 1];
-disp(real(a));
-disp(imag(a));
+//matrix.^matrix
+disp(a.^a)
+disp(a.^b)
+disp(b.^a)
+disp(b.^b)
-b=a+%i*2*a
-disp(real(b));
-disp(imag(b));
endfunction
diff --git a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
index 4c38ac68..1881282a 100644
--- a/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
+++ b/src/Scilab2C/Scilab2C/CCodeGeneration/SCI2CMakefileTemplate.rc
@@ -24,7 +24,6 @@ SWSRCS = \
$(CSRCDIR)/doubleComplex.c \
$(CSRCDIR)/floatComplex.c \
$(CSRCDIR)/RealToComplex.c \
- $(CSRCDIR)/OpDotHat.c \
$(CSRCDIR)/OpEqual.c \
$(CSRCDIR)/OpIns.c \
$(CSRCDIR)/OpExt.c \
@@ -432,7 +431,11 @@ SWSRCS = \
$(CSRCDIR)/drowmina.c \
$(CSRCDIR)/drowmaxa.c \
$(CSRCDIR)/dcolumnmina.c \
- $(CSRCDIR)/dcolumnmaxa.c
+ $(CSRCDIR)/dcolumnmaxa.c \
+ $(CSRCDIR)/cpowma.c \
+ $(CSRCDIR)/dpowma.c \
+ $(CSRCDIR)/spowma.c \
+ $(CSRCDIR)/zpowma.c
diff --git a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
index 9d4a3726..1381f0e5 100644
--- a/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
+++ b/src/Scilab2C/Scilab2C/CFiles/sci2cincludes/sci2clib.h
@@ -8,7 +8,6 @@
#include "doubleComplex.h"
#include "floatComplex.h"
#include "RealToComplex.h"
-#include "OpDotHat.h"
#include "OpEqual.h"
#include "OpIns.h"
#include "OpExt.h"
@@ -116,6 +115,7 @@
#include "int_log1p.h"
/* interfacing pow */
#include "pow.h"
+#include "matrixPow.h"
#include "int_OpHat.h"
#include "int_OpDotHat.h"
/* interfacing sin */
diff --git a/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index cd44510b..3b9a8e93 100644
--- a/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/src/Scilab2C/Scilab2C/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -721,8 +721,8 @@ PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
PrintStringInfo('c0c0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
@@ -731,18 +731,18 @@ PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('c0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('s2c0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d2z0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2c0'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('d2z0'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c2s0'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('s0c2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d0z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('d0z2'+ArgSeparator+'z2',ClassFileName,'file','y');
PrintStringInfo('c0s2'+ArgSeparator+'c2',ClassFileName,'file','y');
PrintStringInfo('z0d2'+ArgSeparator+'z2',ClassFileName,'file','y');
@@ -751,6 +751,12 @@ PrintStringInfo('d0z0'+ArgSeparator+'z0',ClassFileName,'file','y');
PrintStringInfo('c0s0'+ArgSeparator+'c0',ClassFileName,'file','y');
PrintStringInfo('z0d0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('s2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('d2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('c2s2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('z2d2'+ArgSeparator+'z2',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'OpDotHat';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'both','y');