summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce4
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Addition.sci8
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Cross.sci44
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Erf.sci10
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Erfc.sci10
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Isreal.sci25
-rw-r--r--2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci50
-rw-r--r--2.3-1/demos/ffilt.dem.sce16
-rw-r--r--2.3-1/demos/filt_sinc.dem.sce18
-rw-r--r--2.3-1/demos/fsfirlin.dem.sce16
-rw-r--r--2.3-1/demos/scilab2c.dem.gateway.sce4
-rw-r--r--2.3-1/includes/sci2clib.h19
-rw-r--r--2.3-1/jar/scilab_en_US_help.jarbin11210 -> 19272 bytes
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/GetRPISupportFunctions.sci48
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/IsRPISupportFunction.sci32
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMicro.sci38
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMilli.sci39
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalIn.sci43
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalOut.sci44
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalSetup.sci36
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMicros.sci39
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMillis.sci39
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetClock.sci35
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetMode.sci32
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetRange.sci35
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMWrite.sci39
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_PinISR.sci56
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialClose.sci33
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialFlush.sci34
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialGetChar.sci36
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendChar.sci37
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendData.sci38
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSetup.sci36
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/buildmacros.sce4
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/names21
-rw-r--r--2.3-1/macros/Hardware/RasberryPi/old/u16RPISerialDataAvail.sci37
-rw-r--r--2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci128
-rw-r--r--2.3-1/macros/findDeps/getAllHeaders.sci4
-rw-r--r--2.3-1/macros/findDeps/getAllInterfaces.sci4
-rw-r--r--2.3-1/macros/findDeps/getAllSources.sci24
-rw-r--r--2.3-1/src/c/elementaryFunctions/includes/isequal.h38
-rw-r--r--2.3-1/src/c/elementaryFunctions/interfaces/int_isequal.h35
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/disequala.c39
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/disequals.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/sisequala.c39
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/sisequals.c24
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/u16isequala.c40
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/u16isequals.c25
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/zisequala.c40
-rw-r--r--2.3-1/src/c/elementaryFunctions/isequal/zisequals.c25
-rw-r--r--2.3-1/src/c/matrixOperations/cross/ccrossa.c37
-rw-r--r--2.3-1/src/c/matrixOperations/cross/dcrossa.c33
-rw-r--r--2.3-1/src/c/matrixOperations/cross/i16crossa.c34
-rw-r--r--2.3-1/src/c/matrixOperations/cross/i8crossa.c34
-rw-r--r--2.3-1/src/c/matrixOperations/cross/scrossa.c33
-rw-r--r--2.3-1/src/c/matrixOperations/cross/u16crossa.c34
-rw-r--r--2.3-1/src/c/matrixOperations/cross/u8crossa.c34
-rw-r--r--2.3-1/src/c/matrixOperations/cross/zcrossa.c37
-rw-r--r--2.3-1/src/c/matrixOperations/includes/cross.h37
-rw-r--r--2.3-1/src/c/matrixOperations/interfaces/int_cross.h35
-rw-r--r--2.3-1/src/c/specialFunctions/erf/derfa.c25
-rw-r--r--2.3-1/src/c/specialFunctions/erf/derfs.c22
-rw-r--r--2.3-1/src/c/specialFunctions/erf/serfa.c25
-rw-r--r--2.3-1/src/c/specialFunctions/erf/serfs.c22
-rw-r--r--2.3-1/src/c/specialFunctions/erfc/derfca.c25
-rw-r--r--2.3-1/src/c/specialFunctions/erfc/derfcs.c22
-rw-r--r--2.3-1/src/c/specialFunctions/erfc/serfca.c25
-rw-r--r--2.3-1/src/c/specialFunctions/erfc/serfcs.c22
-rw-r--r--2.3-1/src/c/specialFunctions/includes/erf.h35
-rw-r--r--2.3-1/src/c/specialFunctions/includes/erfc.h36
-rw-r--r--2.3-1/src/c/specialFunctions/interfaces/int_erf.h32
-rw-r--r--2.3-1/src/c/specialFunctions/interfaces/int_erfc.h32
-rw-r--r--2.3-1/src/c/string/strcspn/gstrcspna.c27
-rw-r--r--2.3-1/tests/unit_tests/test_ffilt/scilabcode/ffilttest.sci8
-rw-r--r--2.3-1/tests/unit_tests/test_ffilt/scilabcode/main.sci12
-rw-r--r--2.3-1/tests/unit_tests/test_filtsinc/scilabcode/filt_sinctest.sci10
-rw-r--r--2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/fsfirlintest.sci6
-rw-r--r--2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/main.sci9
78 files changed, 1446 insertions, 841 deletions
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce b/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce
new file mode 100644
index 00000000..e250078d
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Add_SCE.sce
@@ -0,0 +1,4 @@
+a = 1;
+b = 5;
+c = a+b;
+disp(c);
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Addition.sci b/2.3-1/demos/Brijesh_Demos/Test_Addition.sci
new file mode 100644
index 00000000..856ba63e
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Addition.sci
@@ -0,0 +1,8 @@
+function Test_Addition()
+ a = 1;
+ b = 2;
+ d = float(b);
+ e = float(a)
+ c = e+d;
+ disp(c);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Cross.sci b/2.3-1/demos/Brijesh_Demos/Test_Cross.sci
new file mode 100644
index 00000000..01206b3c
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Cross.sci
@@ -0,0 +1,44 @@
+function Test_Cross
+ disp('Datatype: Double');
+ i1 = [1 2;3 4;5 6];
+ i2 = [7 8;9 10;11 12];
+ o1 = cross(i1,i2);
+ disp(o1);
+
+ disp('Datatype: DoubleComplex');
+ i3 = [1+1*%i 2+2*%i;3+3*%i 4+4*%i;5+5*%i 6+6*%i];
+ i4 = [7+7*%i 8+8*%i;9+9*%i 10+10*%i;11+11*%i 12+12*%i];
+ o2 = cross(i3,i4);
+ disp(o2);
+
+ disp('Float');
+ i5 = float([1 2;3 4;5 6]);
+ i6 = float([7 8;9 10;11 12]);
+ o3 = cross(i5,i6);
+ disp(o3);
+
+ disp('Datatype: uint8');
+ i7 = uint8([1 2;3 4;5 6]);
+ i8 = uint8([7 8;9 10;11 12]);
+ o4 = cross(i7,i8);
+ disp(o4);
+
+ disp('Datatype: int8');
+ i9 = int8([1 2;3 4;5 6]);
+ i10 = int8([7 8;9 10;11 12]);
+ o5 = cross(i9,i10);
+ disp(o5);
+
+ disp('Datatype: uint16');
+ i11 = uint16([1 2;3 4;5 6]);
+ i12 = uint16([7 8;9 10;11 12]);
+ o6 = cross(i11,i12);
+ disp(o6);
+
+ disp('Datatype: int16');
+ i13 = int8([1 2;3 4;5 6]);
+ i14 = int8([7 8;9 10;11 12]);
+ o7 = cross(i13,i14);
+ disp(o7);
+
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erf.sci b/2.3-1/demos/Brijesh_Demos/Test_Erf.sci
new file mode 100644
index 00000000..42208f61
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Erf.sci
@@ -0,0 +1,10 @@
+function Test_Erf
+ disp('Datatype: Double');
+ i1 = [1 2 .5; 7 .8 .9];
+ o1 = erf(i1);
+ disp(o1);
+ disp('Datatype: float');
+ i2 = float([1 2 .5; 7 .8 .9]);
+ o2 = erf(i2);
+ disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Erfc.sci b/2.3-1/demos/Brijesh_Demos/Test_Erfc.sci
new file mode 100644
index 00000000..2ad8cfed
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Erfc.sci
@@ -0,0 +1,10 @@
+function Test_Erfc
+ disp('Datatype: Double');
+ i1 = [1 2 .5; 7 .8 .9];
+ o1 = erfc(i1);
+ disp(o1);
+ disp('Datatype: float');
+ i2 = float([1 2 .5; 7 .8 .9]);
+ o2 = erfc(i2);
+ disp(o2);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Isreal.sci b/2.3-1/demos/Brijesh_Demos/Test_Isreal.sci
new file mode 100644
index 00000000..4846d31c
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Isreal.sci
@@ -0,0 +1,25 @@
+function Test_Isreal
+ disp('Datatype: Double');
+ i1 = [1 2 3];
+ i2 = [1 2 3];
+ o1 = isequal(i1,i2);
+ disp(o1);
+
+ disp('Datatype: Float');
+ i3 = float([4 5 6]);
+ i4 = float([4 5 6]);
+ o2 = isequal(i3,i4);
+ disp(o2);
+
+ disp('Datatype: DoubleComplex');
+ i5 = [%i*3 %i*3 %i*3];
+ i6 = [%i*3 %i*3 %i*3];
+ o3 = isequal(i5,i6);
+ disp(o3);
+
+ disp('Datatype: uint16');
+ i7 = uint16([4 5 6]);
+ i8 = uint16([4 5 6]);
+ o4 = isequal(i7,i8);
+ disp(o4);
+endfunction
diff --git a/2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci b/2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci
new file mode 100644
index 00000000..6d1269ec
--- /dev/null
+++ b/2.3-1/demos/Brijesh_Demos/Test_Toeplitz.sci
@@ -0,0 +1,50 @@
+function Test_Toeplitz()
+ disp('Datatype: Double');
+ ai = [1 2 3 4];
+ bi = [1 6 7 8];
+ as1 = toeplitz(ai,bi);
+ disp(as1);
+
+ disp('Datatype: Float');
+ aid = float(ai);
+ bid = float(bi);
+ as2 = toeplitz(aid,bid);
+ disp(as2);
+
+ disp('Datatype: uint8');
+ aiu8 = uint8(ai);
+ biu8 = uint8(bi);
+ as3 = toeplitz(aiu8,biu8);
+ disp(as3);
+
+ disp('Datatype: int8');
+ ai8 = int8(ai);
+ bi8 = int8(bi);
+ as4= toeplitz(ai8,bi8);
+ disp(as4);
+
+ disp('Datatype: uint16');
+ aiu16 = uint16(ai);
+ biu16 = uint16(bi);
+ as5 = toeplitz(aiu16,biu16);
+ disp(as5);
+
+ disp('Datatype: int16');
+ ai16 = int16(ai);
+ bi16 = int16(bi);
+ as6 = toeplitz(ai16,bi16);
+ disp(as6);
+
+ disp('Datatype: Double Complex');
+ adc = [1+%i*1 2+%i*2 3+%i*3 4+%i*4];
+ bdc = [1+%i*1 6+%i*6 7+%i*7 8+%i*8];
+ as7 = toeplitz(adc,bdc);
+ disp(as7);
+
+ disp('Datatype: Char');
+ aic = ['a' 'b' 'c' 'd'];
+ bic = ['a' 'x' 'y' 'z'];
+ as9 = toeplitz(aic,bic);
+ disp(as9);
+
+endfunction
diff --git a/2.3-1/demos/ffilt.dem.sce b/2.3-1/demos/ffilt.dem.sce
new file mode 100644
index 00000000..0268041a
--- /dev/null
+++ b/2.3-1/demos/ffilt.dem.sce
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//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
+// Author: Ankit Raj
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+//
+
+lines(0);
+
+global SCI2CHOME
+
+scilab2c(SCI2CHOME+"/tests/unit_tests/test_ffilt/scilabcode/main.sci",TMPDIR,SCI2CHOME+"/tests/unit_tests/test_ffilt/scilabcode");
diff --git a/2.3-1/demos/filt_sinc.dem.sce b/2.3-1/demos/filt_sinc.dem.sce
new file mode 100644
index 00000000..001ceb87
--- /dev/null
+++ b/2.3-1/demos/filt_sinc.dem.sce
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//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
+// Author: Ankit Raj
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+//
+
+
+
+lines(0);
+
+global SCI2CHOME
+
+scilab2c(SCI2CHOME+"/tests/unit_tests/test_filtsinc/scilabcode/filt_sinctest.sci",TMPDIR,SCI2CHOME+"/tests/unit_tests/test_filtsinc/scilabcode");
diff --git a/2.3-1/demos/fsfirlin.dem.sce b/2.3-1/demos/fsfirlin.dem.sce
new file mode 100644
index 00000000..278252ae
--- /dev/null
+++ b/2.3-1/demos/fsfirlin.dem.sce
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//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
+// Author: Ankit Raj
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+//
+
+lines(0);
+
+global SCI2CHOME
+
+scilab2c(SCI2CHOME+"/tests/unit_tests/test_fsfirlin/scilabcode/main.sci",TMPDIR,SCI2CHOME+"/tests/unit_tests/test_fsfirlin/scilabcode");
diff --git a/2.3-1/demos/scilab2c.dem.gateway.sce b/2.3-1/demos/scilab2c.dem.gateway.sce
index b85c528e..7e987879 100644
--- a/2.3-1/demos/scilab2c.dem.gateway.sce
+++ b/2.3-1/demos/scilab2c.dem.gateway.sce
@@ -22,5 +22,7 @@ subdemolist =["Linear Algebra","LinearAlgebra/LinearAlgebra.dem.gateway.sce";
"Symbols", "Symbols.dem.sce";
"Jacobi functions","Jacobi.dem.sce";
"String Functions","string.dem.sce";
- ]
+ "Ffilt coeff. of FIR low pass filter","ffilt.dem.sce";
+ "Design of FIR linear phase filters using freq. samping technique","fsfirlin.dem.sce";
+ "Samples of sinc function","filt_sinc.dem.sce";]
subdemolist(:,2) = demopath + subdemolist(:,2);
diff --git a/2.3-1/includes/sci2clib.h b/2.3-1/includes/sci2clib.h
index 0a15a4f5..dbfc8ccf 100644
--- a/2.3-1/includes/sci2clib.h
+++ b/2.3-1/includes/sci2clib.h
@@ -80,6 +80,16 @@ extern "C" {
#include "interp1.h"
#include "int_interp1.h"
+/* SPECIAL FUNCTIONS */
+
+/* interfacing erf */
+#include "erf.h"
+#include "int_erf.h"
+
+/* interfacing erf */
+#include "erfc.h"
+#include "int_erfc.h"
+
/* ELEMENTARY FUNCTIONS */
#include "nextpow2.h"
@@ -359,6 +369,10 @@ extern "C" {
#include "lcm.h"
#include "int_lcm.h"
+/*interfacing isequal*/
+#include "isequal.h"
+#include "int_isequal.h"
+
/* IMPLICIT LISTS */
/* interfacing implicitList/OpColon */
@@ -475,6 +489,11 @@ extern "C" {
#include "int_toeplitz.h"
+/*interface Cross */
+#include "cross.h"
+#include "int_cross.h"
+
+
/* SIGNAL PROCESSING */
diff --git a/2.3-1/jar/scilab_en_US_help.jar b/2.3-1/jar/scilab_en_US_help.jar
index 8e753c20..90c41f4b 100644
--- a/2.3-1/jar/scilab_en_US_help.jar
+++ b/2.3-1/jar/scilab_en_US_help.jar
Binary files differ
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/GetRPISupportFunctions.sci b/2.3-1/macros/Hardware/RasberryPi/old/GetRPISupportFunctions.sci
deleted file mode 100644
index 3e6397b2..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/GetRPISupportFunctions.sci
+++ /dev/null
@@ -1,48 +0,0 @@
-function RPiSupportFunctions = GetRPISupportFunctions()
-// -----------------------------------------------------------------
-// Get list of RPI peripherals supported
-//
-// Input data:
-// None
-//
-// Output data:
-// None
-// Copyright (C) 2017 - IIT Bombay - FOSSEE
-//
-// 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
-// Author: Siddhesh Wani
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-//
-// -----------------------------------------------------------------
-
-RPiSupportFunctions = [
- "RPI_DigitalIn"
- "RPI_DigitalOut"
- "RPI_DigitalSetup"
- "RPI_DelayMilli"
- "RPI_DelayMicro"
- "RPI_GetMillis"
- "RPI_GetMicros"
- "RPI_SerialSetup"
- "RPI_SerialClose"
- "RPI_SerialSendChar"
- "RPI_SerialFlush"
- "RPI_SerialGetChar"
- "RPI_ThreadCreate"
- "RPI_PinISR"
- "RPI_HardPWMWrite"
- "RPI_HardPWMSetRange"
- "RPI_HardPWMSetClock"
- "RPI_HardPWMSetMode"
- ];
-
-//Note: "RPI_SerialSendData" is removed since distinction between input data
-//types is required
-
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/IsRPISupportFunction.sci b/2.3-1/macros/Hardware/RasberryPi/old/IsRPISupportFunction.sci
deleted file mode 100644
index c6a2c365..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/IsRPISupportFunction.sci
+++ /dev/null
@@ -1,32 +0,0 @@
-function Output = IsRPISupportFunction(FunName)
-// -----------------------------------------------------------------
-// Check whether input function name is a RPi support function or not.
-//
-// Input data:
-// FunName: Name of the function to be checked
-//
-// Output data:
-// Output: True or False depending whether given function is a RPi
-// support functions or not
-//
-// Copyright (C) 2017 - IIT Bombay - FOSSEE
-//
-// 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
-// Author: Siddhesh Wani
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-//
-// -----------------------------------------------------------------
-
-//Get list of supported functions for AVR
-RPISupportFunctions = GetRPISupportFunctions();
-
-//Check whether input function is present in above list or not
-FunNameInRPISupport = members(FunName,RPISupportFunctions);
-Output = bool2s(FunNameInRPISupport~=0);
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMicro.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMicro.sci
deleted file mode 100644
index bbb0bb3b..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMicro.sci
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_DelayMicro(time)
-// Function to insert some delay in code execution.
-//
-// Calling Sequence
-// RPI_DelayMicro(time)
-//
-// Parameters
-// time: time(microseconds) for which execution is to be delayed
-//
-// Description
-// this function can be used for insertig execution delays. 'time' should be
-// specified in microseconds.'time' should be between (1-65536).
-// Note: Delay inserted by this function is not accurate, but depedent on
-// operating system, other running tasks etc.
-//
-// Examples
-// RPI_DelayMilli(100) //This will delay the execution of next code by 100 ms.
-//
-// See also
-// RPI_DelayMicro
-//
-//
-// Authors
-// Siddhesh Wani
-//
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMilli.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMilli.sci
deleted file mode 100644
index 13b79625..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DelayMilli.sci
+++ /dev/null
@@ -1,39 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_DelayMilli(time)
-// Function to insert some delay in milli seconds in code execution.
-//
-// Calling Sequence
-// RPI_DelayMilli(time)
-//
-// Parameters
-// time: time(milliseconds) for which execution is to be delayed
-//
-// Description
-// This function can be used for insertig execution delays. 'time' should be
-// specified in milliseconds. If more resolution is required, use 'RPI_DelayMicro'
-// for inserting delay in microseconds.
-// Note: Delay inserted by this function is not accurate, but depedent on
-// operating system, other running tasks etc.
-//
-// Examples
-// RPI_DelayMilli(100) //This will delay the execution of next code by 100 ms.
-//
-// See also
-// RPI_DelayMicro
-//
-//
-// Authors
-// Siddhesh Wani
-//
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalIn.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalIn.sci
deleted file mode 100644
index 781c49c8..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalIn.sci
+++ /dev/null
@@ -1,43 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function state = RPI_DigitalIn(pin)
-// Function to read current state on digital pins.
-//
-// Calling Sequence
-// state = RPI_DigitalIn(pin)
-//
-// Parameters
-// pin : pin of RPi to be used
-// state : current state of the pin (0 -> LOW, 1 -> HIGH)
-//
-// Description
-// This fucntion is used for reading the current state on gpio pins of RPi. 'RPI_DigitalSetup' function must be called before this for setting up pin as input. 'pin' must be specified from list given. 'state' specifies the input state (0 -> Low, 1-> High)
-// Examples
-// RPI_DigitalIn(RPI_GPIO_P1_03) //Reads the state of pin 3 of header P1.
-//
-// See also
-// RPI_DigitalSetup RPI_DigitalOut
-//
-//
-// Authors
-// Siddhesh Wani
-//
-// -----------------------------------------------------------------
-//Pins of header P1 which can be used as GPIO
-supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,27,28,29,...
- 31,31,33,35,36,37,38,40];
-
-PinIsGPIO = members(pin, supported_pins); //Check if input pin supports GPIO
-
-//If given pin does not support GPIO functionality, raise the error
-if(PinIsGPIO == 0)
- error(9999, 'SCI2CERROR: Given pin number doesnot support GPIO functionality.');
-end
-state = 1;
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalOut.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalOut.sci
deleted file mode 100644
index dde3c934..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalOut.sci
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_DigitalOut(pin, state)
-// Function to output desired state on digital pins.
-//
-// Calling Sequence
-// RPI_DigitalOut(pin, state)
-//
-// Parameters
-// pin : pin of RPi to be used
-// state : desired state of the pin (0 -> LOW, 1 -> HIGH)
-//
-// Description
-// This fucntion is used for outputting the desired state on gpio pins of RPi. 'RPI_DigitalSetup' function must be called before this for setting up pin as output. 'pin' must be specified from list given. 'state' specifies the output state (0 -> Low, 1-> High)
-// Examples
-// RPI_DigitalOut(RPI_GPIO_P1_03,0) //Changes the state of pin 3 of header P1 as 'Low'.
-//
-// See also
-// RPI_DigitalSetup RPI_DigitalIn
-//
-//
-// Authors
-// Siddhesh Wani
-//
-// -----------------------------------------------------------------
-//Pins of header P1 which can be used as GPIO
-supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,27,28,29,...
- 31,31,33,35,36,37,38,40];
-
-PinIsGPIO = members(pin, supported_pins); //Check if output pin supports GPIO
-
-//If given pin does not support GPIO functionality, raise the error
-if(PinIsGPIO == 0)
- error(9999, 'SCI2CERROR: Given pin number doesnot support GPIO functionality.');
-end
-state = 1;
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalSetup.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalSetup.sci
deleted file mode 100644
index 01d6e07d..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_DigitalSetup.sci
+++ /dev/null
@@ -1,36 +0,0 @@
-function RPI_DigitalSetup(pin, direction)
-// Function to setup digital pins.
-//
-// Calling Sequence
-// RPI_DigitalSetup(pin,direction)
-//
-// Parameters
-// pin : pin of RPi to be used
-// direction : direction to be set for pin
-// 0 -> INPUT, 1 -> OUTPUT, 2->PWM Output
-//
-// Description
-// There are few pins available on RPi as Gpio or digital io. These pins can be used as digital output or input. Pin name must be provided from list provided. Please refer '' for complete list of pins. Direction can be 0 or 1 depending upon desired function (Input/output)
-// Examples
-// RPI_DigitalSetup(3,0) //Sets pin 3 of header P1 as input
-//
-// See also
-// RPI_DigitalIn RPI_DigitalOut
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-//Pins of header P1 which can be used as GPIO
-supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,27,28,29,...
- 31,31,33,35,36,37,38,40];
-
-PinIsGPIO = members(pin, supported_pins); //Check if input pin supports GPIO
-
-//If given pin does not support GPIO functionality, raise the error
-if(PinIsGPIO == 0)
- error(9999, 'SCI2CERROR: Given pin number doesnot support GPIO functionality.');
-end
-state = 1;
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMicros.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMicros.sci
deleted file mode 100644
index 6c4db57a..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMicros.sci
+++ /dev/null
@@ -1,39 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function Micros = RPI_GetMicros()
-// Function to get time in Microsecond since first setup function called.
-//
-// Calling Sequence
-// Micros = RPI_GetMicros()
-//
-// Parameters
-// Micros: time in Microseconds since first setup function called
-//
-// Description
-// This function can be used to get time since first setup function called.
-// Note: To use this function atleast one setup function must be called.
-//
-// Examples
-// start = RPI_GetMicros()
-// RPI_DelayMicro(1000) //This will delay the execution of next code by 100 ms.
-// end = RPI_GetMicros()
-// delay = end- start //This should be approximately 1000 us.
-//
-// See also
-// RPI_GetMillis RPI_DelayMilli RPI_DelayMicro
-//
-//
-// Authors
-// Siddhesh Wani
-//
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-Micros = 0;
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMillis.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMillis.sci
deleted file mode 100644
index c034a705..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_GetMillis.sci
+++ /dev/null
@@ -1,39 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function Millis = RPI_GetMillis()
-// Function to get time in millisecond since first setup function called.
-//
-// Calling Sequence
-// Millis = RPI_GetMillis()
-//
-// Parameters
-// Millis: time in milliseconds since first setup function called
-//
-// Description
-// This function can be used to get time since first setup function called.
-// Note: To use this function atleast one setup function must be called.
-//
-// Examples
-// start = RPI_GetMillis()
-// RPI_DelayMilli(100) //This will delay the execution of next code by 100 ms.
-// end = RPI_GetMillis()
-// delay = end- start //This should be approximately 100ms.
-//
-// See also
-// RPI_GetMicros RPI_DelayMilli RPI_DelayMicro
-//
-//
-// Authors
-// Siddhesh Wani
-//
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-Millis = 0;
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetClock.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetClock.sci
deleted file mode 100644
index 8448d364..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetClock.sci
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_HardPWMSetClock(clock_divisor)
-// Function to set PWM clock. PWM clock frequency is 19.2MHz, which can be reduced
-// using suitable clock_divisor (1 to 2048, powers of 2)
-//
-// Calling Sequence
-// RPI_HardPWMSetClock(clock_divisor)
-//
-// Parameters
-// clock_divisor: Value can be from 1 to 2048, powers of 2.
-// Description
-// This function decides pwm clock.
-// PWM frequency = (PWM Clock frequency/Clock divisor/range)
-// PWM clock frequency = 19.2 MHz
-// clock divisor is setup using RPI_HardPWMSetClock
-// range is setup using RPI_HardPWMSetRange
-// Examples
-//
-// See also
-// RPI_HardPWMSetWrite RPI_HardPWMSetRange
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetMode.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetMode.sci
deleted file mode 100644
index 57b82601..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetMode.sci
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_HardPWMSetMode(pwm_mode)
-// Function to set PWM mode. Two modes are available - balanced and mark/space
-//
-// Calling Sequence
-// RPI_HardPWMSetMode(pwm_mode)
-//
-// Parameters
-// pwm_mode: decides pwm mode
-// 0 -> balanced
-// 1 -> mark/space
-// Description
-// This function decides pwm mode
-// Examples
-//
-// See also
-// RPI_HardPWMSetWrite RPI_HardPWMSetRange
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetRange.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetRange.sci
deleted file mode 100644
index c2075e2d..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMSetRange.sci
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_HardPWMSetRange(range_val)
-// Function to set range value for PWM. Range value along with clock divisor
-// decides pwm frequency. Range value must be less than 1024
-//
-// Calling Sequence
-// RPI_HardPWMSetRange(range_val)
-//
-// Parameters
-// range_val: range for pwm
-// Description
-// This function decides range for pwm.
-// PWM frequency = (PWM Clock frequency/Clock divisor/range)
-// PWM clock frequency = 19.2 MHz
-// clock divisor is setup using RPI_HardPWMSetClock
-// range is setup using RPI_HardPWMSetRange
-// Examples
-//
-// See also
-// RPI_HardPWMSetClock RPI_HardPWMWrite
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMWrite.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMWrite.sci
deleted file mode 100644
index dba5e674..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_HardPWMWrite.sci
+++ /dev/null
@@ -1,39 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_HardPWMWrite(pin,value)
-// Function to change pwm duty on specified pin. Hardware PWM is available
-// only on pin 12. So, only '12' should be provided as pin
-//
-// Calling Sequence
-// RPI_HardPWMWrite(12,512) //Value must be smaller than the range set
-// using RPI_HARDPWMSetRange
-//
-// Parameters
-// pin: pin no on which pwm value is to be changed. Currently only 12 is allowed
-// value: pwm value for given pin. This must be less than range value set
-// Description
-// This function changes pwm duty on specified pin. As for RPi, only one pin
-// (pin 12) is available for hardware PWM.
-// PWM frequency = (PWM Clock frequency/Clock divisor/range)
-// PWM clock frequency = 19.2 MHz
-// clock divisor is setup using RPI_HardPWMSetClock
-// range is setup using RPI_HardPWMSetRange
-// Actual PWM duty = value/range
-// Examples
-//
-// See also
-// RPI_HardPWMSetClock RPI_HardPWMSetRange
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_PinISR.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_PinISR.sci
deleted file mode 100644
index c2354c1f..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_PinISR.sci
+++ /dev/null
@@ -1,56 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_PinISR(pin, edgetype, fn)
-// Function to assign a function to be run when an interrupt occurs on
-// specified pin.
-//
-// Calling Sequence
-// RPI_PinISR(pin, edgetype, fn)
-//
-// Parameters
-// pin : pin whose interrupt is to be configured
-// edgetype: edge on which interrupt is to be monitored
-// 1 -> Falling egde
-// 2 -> Rising egde
-// 3 -> Both egde
-// fn: name of the function to be executed on interrupt occurance
-// Description
-// This functions monitors interrupt on specified pin for specified edge,
-// When that interrupt occurs, function specified by 'fn' is executed.
-// Examples
-// RPI_PinISR(12, 0, Pin12ISR) //executes 'Pin12ISR' on falling edge on
-// pin 12
-// See also
-// RPI_ThreadCreate RPI_DigitalSetup
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-//Pins of header P1 which can be used as GPIO
-supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,27,28,29,...
- 31,31,33,35,36,37,38,40];
-
-PinIsGPIO = members(pin, supported_pins); //Check if input pin supports GPIO
-
-//If given pin does not support GPIO functionality, raise the error
-if(PinIsGPIO == 0)
- error(9999, 'SCI2CERROR: Given pin number doesnot support GPIO functionality.');
-end
-EdgeTypeSupported = members(edgetype,[1 2 3]);
-
-if(EdgeTypeSupported == 0)
- error(9999, 'SCI2CERROR: Given edgetype is incorrect. Please specify correct edgetype from [1,2,3]')
-end
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialClose.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialClose.sci
deleted file mode 100644
index f27dd432..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialClose.sci
+++ /dev/null
@@ -1,33 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_SerialClose(fd)
-// Function to close serial port specified by file descriptor.
-//
-// Calling Sequence
-// RPI_SerialClose(fd)
-//
-// Parameters
-// fd : file descriptor for opened port
-// Description
-// This functions closes the specified serial port
-// Examples
-// serial1 = RPI_SerialSetup('/dev/ttyAMA0',9600) //opens port 'USBtty0'
-// RPI_SerialClose(serial1)
-// See also
-// RPI_SerialOpen RPI_SerialSendChar
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialFlush.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialFlush.sci
deleted file mode 100644
index 9bab386f..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialFlush.sci
+++ /dev/null
@@ -1,34 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function data = RPI_SerialGetChar(fd)
-// Function to read data from specified serial port
-//
-// Calling Sequence
-// RPI_SerialGetCharfd)
-//
-// Parameters
-// fd: file descriptor returned when serial port was opened
-// Description
-// This functions reads character form specified port. In case no
-// character is available, -1 is returned after 10 sec.
-// Examples
-// serial = RPI_SetupSerial("/dev/ttyAMA0", 9600);
-// RPI_SerialFlush(serial);
-// bytes = RPI_SerialDataAvail(serial);
-//
-// See also
-// RPI_SetupSerial RPI_SendData
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialGetChar.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialGetChar.sci
deleted file mode 100644
index a26e5b97..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialGetChar.sci
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function data = RPI_SerialGetChar(fd)
-// Function to read data from specified serial port
-//
-// Calling Sequence
-// RPI_SerialGetChar(fd)
-//
-// Parameters
-// fd: file descriptor returned when serial port was opened
-// Description
-// This functions reads character form specified port. In case no
-// character is available, -1 is returned after 10 sec.
-// Examples
-// serial = RPI_SetupSerial("/dev/ttyAMA0", 9600);
-// bytes = RPI_SerialDataAvail(serial);
-// if(bytes>0)
-// data = RPI_SerialGetChar(serial) //Reads single character
-// end
-// See also
-// RPI_SetupSerial RPI_SendData
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-data = 0;
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendChar.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendChar.sci
deleted file mode 100644
index 769b21d2..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendChar.sci
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_SerialSendChar(fd, data)
-// Function to send 8-bit char through serial port.
-//
-// Calling Sequence
-// RPI_SerialSendChar(fd, data)
-//
-// Parameters
-// fd : file descriptor for opened port
-// data: 8-bit character data to be sent
-// Description
-// This functions sends input 8-bit character data on specified serial port
-// Examples
-// serial1 = RPI_SerialSetup('/dev/ttyAMA0',9600) //opens port 'USBtty0'
-// RPI_SerialSendChar(serial1, 'H');
-// RPI_SerialSendChar(serial1, 'i');
-// RPI_SerialClose(serial1);
-//
-// See also
-// RPI_SerialOpen RPI_SerialClose
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendData.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendData.sci
deleted file mode 100644
index c05852b1..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSendData.sci
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function RPI_SerialSendData(fd, data)
-// Function to send data through serial port. Data can be of any datatype and
-// can be scalar or matrix
-//
-// Calling Sequence
-// RPI_SerialSendData(fd, data)
-//
-// Parameters
-// fd : file descriptor for opened port
-// data: data to be sent
-// Description
-// This functions sends input data on specified serial port
-// Examples
-// A = [2 3; 4 5]
-// serial1 = RPI_SerialSetup('/dev/ttyAMA0',9600) //opens port 'USBtty0'
-// RPI_SerialSendData(serial1, A);
-// RPI_SerialClose(serial1);
-//
-// See also
-// RPI_SerialOpen RPI_SerialClose
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSetup.sci b/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSetup.sci
deleted file mode 100644
index 0f266610..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/RPI_SerialSetup.sci
+++ /dev/null
@@ -1,36 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function fd = RPI_SerialSetup(port, baudrate)
-// Function to setup serial port.
-//
-// Calling Sequence
-// RPI_SerialSetup(port, baudrate)
-//
-// Parameters
-// port : port of RPi to be used (eg. )
-// direction : direction to be set for pin (0 -> INPUT, 1 -> OUTPUT)
-// fd : file descriptor for opened port, -1 for error
-// Description
-// This functions opens the specified serial port and returns file descriptor
-// for the same
-// Examples
-// serial1 = RPI_SerialSetup('/dev/ttyAMA0',9600) //opens port 'USBtty0'
-//
-// See also
-// RPI_SerialClose RPI_SerialSendChar
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-fd = 0;
-endfunction
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/buildmacros.sce b/2.3-1/macros/Hardware/RasberryPi/old/buildmacros.sce
deleted file mode 100644
index 2954a424..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/buildmacros.sce
+++ /dev/null
@@ -1,4 +0,0 @@
-
-tbx_build_macros(TOOLBOX_NAME, get_absolute_file_path('buildmacros.sce'));
-
-clear tbx_build_macros;
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/names b/2.3-1/macros/Hardware/RasberryPi/old/names
deleted file mode 100644
index fa647761..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/names
+++ /dev/null
@@ -1,21 +0,0 @@
-GetRPISupportFunctions
-IsRPISupportFunction
-RPI_DelayMicro
-RPI_DelayMilli
-RPI_DigitalIn
-RPI_DigitalOut
-RPI_DigitalSetup
-RPI_GetMicros
-RPI_GetMillis
-RPI_HardPWMSetClock
-RPI_HardPWMSetMode
-RPI_HardPWMSetRange
-RPI_HardPWMWrite
-RPI_PinISR
-RPI_SerialClose
-RPI_SerialFlush
-RPI_SerialGetChar
-RPI_SerialSendChar
-RPI_SerialSendData
-RPI_SerialSetup
-u16RPISerialDataAvail
diff --git a/2.3-1/macros/Hardware/RasberryPi/old/u16RPISerialDataAvail.sci b/2.3-1/macros/Hardware/RasberryPi/old/u16RPISerialDataAvail.sci
deleted file mode 100644
index 6eb29a1c..00000000
--- a/2.3-1/macros/Hardware/RasberryPi/old/u16RPISerialDataAvail.sci
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-function bytes = RPI_SerialDataAvail(fd)
-// Function to get number of data bytes available on serial port specified by
-// file descriptor
-// Calling Sequence
-// RPI_SerialDataAvail(fd)
-//
-// Parameters
-// fd : file descriptor for already opened serial port
-// Description
-// This functions returns number of characters available to read,
-// otherwise reads -1 in case of error. This function can be used to check
-// new data is available on serial port
-// Examples
-// serial = RPI_SerialOpen("/dev/ttyAMA0", 9600);
-// charsToRead = RPI_SerialDataAvail(serial);
-// See also
-// RPI_SerialOpen RPI_SerialGetChar
-//
-//
-// Authors
-// Siddhesh Wani
-// -----------------------------------------------------------------
-
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for RPi.
-
-bytes = 0;
-
-endfunction \ No newline at end of file
diff --git a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index ea84c6ae..85472a8a 100644
--- a/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/2.3-1/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -4803,6 +4803,134 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//------------------------------------
+//---- Class CROSS ----------------
+//------------------------------------
+ClassName = 'cross';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('z2z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('c2c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cross';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class ISEQUAL ----------------
+//------------------------------------
+ClassName = 'isequal';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+//Was FA_TP_USER
+//Cause some trouble if user specify some precision and if input(and also output) is complex.
+PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('z0z0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('z2z2'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('u162u162'+ArgSeparator+'g0',ClassFileName,'file','y');
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'isequal';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class ERF ----------------
+//------------------------------------
+ClassName = 'erf';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'erf';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class ERFC ----------------
+//------------------------------------
+ClassName = 'erfc';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'erfc';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
// -------------------
// --- Class Spec. ---
// -------------------
diff --git a/2.3-1/macros/findDeps/getAllHeaders.sci b/2.3-1/macros/findDeps/getAllHeaders.sci
index 38f84f5a..cf606ab5 100644
--- a/2.3-1/macros/findDeps/getAllHeaders.sci
+++ b/2.3-1/macros/findDeps/getAllHeaders.sci
@@ -73,6 +73,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/matrixOperations/includes/flipdim.h"
"src/c/matrixOperations/includes/norm.h"
"src/c/matrixOperations/includes/toeplitz.h"
+ "src/c/matrixOperations/includes/cross.h"
"src/c/interpolation/includes/interp1.h"
"src/c/elementaryFunctions/includes/nextpow2.h"
"src/c/elementaryFunctions/includes/gcd.h"
@@ -136,6 +137,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/ismatrix.h"
"src/c/elementaryFunctions/includes/asind.h"
"src/c/elementaryFunctions/includes/atand.h"
+ "src/c/elementaryFunctions/includes/isequal.h"
"src/c/statisticsFunctions/includes/variance.h"
"src/c/statisticsFunctions/includes/sum.h"
"src/c/statisticsFunctions/includes/mean.h"
@@ -223,6 +225,8 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/gcd.h"
"src/c/elementaryFunctions/includes/lcm.h"
"src/c/elementaryFunctions/includes/sinc.h"
+ "src/c/specialFunctions/includes/erf.h"
+ "src/c/specialFunctions/includes/erfc.h"
"src/c/CACSD/includes/syslin.h"
"src/c/CACSD/includes/lqr.h"
"src/c/CACSD/includes/lqe.h"
diff --git a/2.3-1/macros/findDeps/getAllInterfaces.sci b/2.3-1/macros/findDeps/getAllInterfaces.sci
index c7924a3f..977ea76e 100644
--- a/2.3-1/macros/findDeps/getAllInterfaces.sci
+++ b/2.3-1/macros/findDeps/getAllInterfaces.sci
@@ -62,6 +62,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/matrixOperations/interfaces/int_permute.h"
"src/c/matrixOperations/interfaces/int_norm.h"
"src/c/matrixOperations/interfaces/int_toeplitz.h"
+ "src/c/matrixOperations/interfaces/int_cross.h"
"src/c/interpolation/interfaces/int_interp1.h"
"src/c/elementaryFunctions/interfaces/int_nextpow2.h"
"src/c/elementaryFunctions/interfaces/int_gcd.h"
@@ -127,6 +128,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_atand.h"
"src/c/elementaryFunctions/interfaces/int_gcd.h"
"src/c/elementaryFunctions/interfaces/int_lcm.h"
+ "src/c/elementaryFunctions/interfaces/int_isequal.h"
"src/c/statisticsFunctions/interfaces/int_mean.h"
"src/c/statisticsFunctions/interfaces/int_meanf.h"
"src/c/statisticsFunctions/interfaces/int_stdevf.h"
@@ -218,6 +220,8 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_primes.h"
"src/c/elementaryFunctions/interfaces/int_factor.h"
"src/c/elementaryFunctions/interfaces/int_sinc.h"
+ "src/c/specialFunctions/interfaces/int_erf.h"
+ "src/c/specialFunctions/interfaces/int_erfc.h"
"src/c/CACSD/interfaces/int_syslin.h"
"src/c/CACSD/interfaces/int_lqr.h"
"src/c/CACSD/interfaces/int_lqe.h"
diff --git a/2.3-1/macros/findDeps/getAllSources.sci b/2.3-1/macros/findDeps/getAllSources.sci
index 1525cca3..60908c88 100644
--- a/2.3-1/macros/findDeps/getAllSources.sci
+++ b/2.3-1/macros/findDeps/getAllSources.sci
@@ -339,6 +339,14 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/matrixOperations/toeplitz/ctoeplitza.c"
"src/c/matrixOperations/toeplitz/i8toeplitza.c"
"src/c/matrixOperations/toeplitz/i16toeplitza.c"
+ "src/c/matrixOperations/cross/dcrossa.c"
+ "src/c/matrixOperations/cross/zcrossa.c"
+ "src/c/matrixOperations/cross/ccrossa.c"
+ "src/c/matrixOperations/cross/scrossa.c"
+ "src/c/matrixOperations/cross/u8crossa.c"
+ "src/c/matrixOperations/cross/i8crossa.c"
+ "src/c/matrixOperations/cross/u16crossa.c"
+ "src/c/matrixOperations/cross/i16crossa.c"
"src/c/elementaryFunctions/nextpow2/dnextpow2a.c"
"src/c/elementaryFunctions/isreal/sisreals.c"
"src/c/elementaryFunctions/isreal/disreals.c"
@@ -847,6 +855,14 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/elementaryFunctions/atand/satands.c"
"src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c"
"src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c"
+ "src/c/elementaryFunctions/isequal/disequals.c"
+ "src/c/elementaryFunctions/isequal/disequala.c"
+ "src/c/elementaryFunctions/isequal/sisequals.c"
+ "src/c/elementaryFunctions/isequal/sisequala.c"
+ "src/c/elementaryFunctions/isequal/zisequals.c"
+ "src/c/elementaryFunctions/isequal/zisequala.c"
+ "src/c/elementaryFunctions/isequal/u16isequals.c"
+ "src/c/elementaryFunctions/isequal/u16isequala.c"
"src/c/statisticsFunctions/max/dmaxa.c"
"src/c/statisticsFunctions/max/smaxa.c"
"src/c/statisticsFunctions/max/srowmaxa.c"
@@ -1312,6 +1328,14 @@ function allSources = getAllSources(SharedInfo,BuildTool)
"src/c/elementaryFunctions/discrete_mathematics/primes/sprimess.c"
"src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c"
"src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c"
+ "src/c/specialFunctions/erf/derfs.c"
+ "src/c/specialFunctions/erf/derfa.c"
+ "src/c/specialFunctions/erf/serfs.c"
+ "src/c/specialFunctions/erf/serfa.c"
+ "src/c/specialFunctions/erfc/derfcs.c"
+ "src/c/specialFunctions/erfc/derfca.c"
+ "src/c/specialFunctions/erfc/serfcs.c"
+ "src/c/specialFunctions/erfc/serfca.c"
"src/c/CACSD/syslin/dsyslina.c"
"src/c/CACSD/lqr/dlqra.c"
"src/c/CACSD/lqe/dlqea.c"
diff --git a/2.3-1/src/c/elementaryFunctions/includes/isequal.h b/2.3-1/src/c/elementaryFunctions/includes/isequal.h
new file mode 100644
index 00000000..d22a8047
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/includes/isequal.h
@@ -0,0 +1,38 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ISEQUAL_H__
+#define __ISEQUAL_H__
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disequals(double inp1, double inp2);
+char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c);
+char sisequals(float inp1, float inp2);
+char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c);
+char zisequals(doubleComplex inp1, doubleComplex inp2);
+char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c);
+char u16isequals(uint16 inp1, uint16 inp2);
+char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ISEQUAL_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/interfaces/int_isequal.h b/2.3-1/src/c/elementaryFunctions/interfaces/int_isequal.h
new file mode 100644
index 00000000..d22ab65d
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/interfaces/int_isequal.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ISEQUAL_H__
+#define __INT_ISEQUAL_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0d0isequalg0(in1,in2) disequals(in1,in2)
+#define d2d2isequalg0(in1, s1, in2, s2) disequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define s0s0isequalg0(in1,in2) sisequals(in1,in2)
+#define s2s2isequalg0(in1, s1, in2, s2) sisequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define z0z0isequalg0(in1,in2) zisequals(in1,in2)
+#define z2z2isequalg0(in1, s1, in2, s2) zisequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define u160u160isequalg0(in1,in2) u16isequals(in1,in2)
+#define u162u162isequalg0(in1, s1, in2, s2) u16isequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ISEQUAL_H__*/
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/disequala.c b/2.3-1/src/c/elementaryFunctions/isequal/disequala.c
new file mode 100644
index 00000000..8781ac7b
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/disequala.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/disequals.c b/2.3-1/src/c/elementaryFunctions/isequal/disequals.c
new file mode 100644
index 00000000..319c3308
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/disequals.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char disequals(double inp1, double inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/sisequala.c b/2.3-1/src/c/elementaryFunctions/isequal/sisequala.c
new file mode 100644
index 00000000..2634efd5
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/sisequala.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/sisequals.c b/2.3-1/src/c/elementaryFunctions/isequal/sisequals.c
new file mode 100644
index 00000000..66bef36d
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/sisequals.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char sisequals(float inp1, float inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/u16isequala.c b/2.3-1/src/c/elementaryFunctions/isequal/u16isequala.c
new file mode 100644
index 00000000..62de1e86
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/u16isequala.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "uint16.h"
+
+char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/u16isequals.c b/2.3-1/src/c/elementaryFunctions/isequal/u16isequals.c
new file mode 100644
index 00000000..4f797d40
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/u16isequals.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "uint16.h"
+
+char u16isequals(uint16 inp1, uint16 inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/zisequala.c b/2.3-1/src/c/elementaryFunctions/isequal/zisequala.c
new file mode 100644
index 00000000..13d241fe
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/zisequala.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "doubleComplex.h"
+
+char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (!(zisequals(inp1[i],inp2[i])))
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/2.3-1/src/c/elementaryFunctions/isequal/zisequals.c b/2.3-1/src/c/elementaryFunctions/isequal/zisequals.c
new file mode 100644
index 00000000..6914dc87
--- /dev/null
+++ b/2.3-1/src/c/elementaryFunctions/isequal/zisequals.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "doubleComplex.h"
+
+char zisequals(doubleComplex inp1, doubleComplex inp2)
+{
+ if ((zreals(inp1) == zreals(inp2)) && (zimags(inp1) == zimags(inp2)))
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/ccrossa.c b/2.3-1/src/c/matrixOperations/cross/ccrossa.c
new file mode 100644
index 00000000..5f74bb36
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/ccrossa.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "floatComplex.h"
+#include "stdlib.h"
+#include "string.h"
+#include "cat.h"
+
+void ccrossa (floatComplex* inp1, int size1_r, int size1_c, floatComplex* inp2, int size2_r, int size2_c ,floatComplex* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/dcrossa.c b/2.3-1/src/c/matrixOperations/cross/dcrossa.c
new file mode 100644
index 00000000..203ec24b
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/dcrossa.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+
+void dcrossa (double* inp1, int size1_r, int size1_c, double* inp2, int size2_r, int size2_c ,double* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/i16crossa.c b/2.3-1/src/c/matrixOperations/cross/i16crossa.c
new file mode 100644
index 00000000..91cdb7f0
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/i16crossa.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "int16.h"
+
+void i16crossa (int16* inp1, int size1_r, int size1_c, int16* inp2, int size2_r, int size2_c ,int16* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/i8crossa.c b/2.3-1/src/c/matrixOperations/cross/i8crossa.c
new file mode 100644
index 00000000..adfbd534
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/i8crossa.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "int8.h"
+
+void i8crossa (int8* inp1, int size1_r, int size1_c, int8* inp2, int size2_r, int size2_c ,int8* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/scrossa.c b/2.3-1/src/c/matrixOperations/cross/scrossa.c
new file mode 100644
index 00000000..414b85a4
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/scrossa.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+
+void scrossa (float* inp1, int size1_r, int size1_c, float* inp2, int size2_r, int size2_c ,float* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/u16crossa.c b/2.3-1/src/c/matrixOperations/cross/u16crossa.c
new file mode 100644
index 00000000..e0a32bcc
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/u16crossa.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "uint16.h"
+
+void u16crossa (uint16* inp1, int size1_r, int size1_c, uint16* inp2, int size2_r, int size2_c ,uint16* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/u8crossa.c b/2.3-1/src/c/matrixOperations/cross/u8crossa.c
new file mode 100644
index 00000000..7a8b857f
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/u8crossa.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "uint8.h"
+
+void u8crossa (uint8* inp1, int size1_r, int size1_c, uint8* inp2, int size2_r, int size2_c ,uint8* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/cross/zcrossa.c b/2.3-1/src/c/matrixOperations/cross/zcrossa.c
new file mode 100644
index 00000000..85a19607
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/cross/zcrossa.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cross.h>
+#include "doubleComplex.h"
+#include "stdlib.h"
+#include "string.h"
+#include "cat.h"
+
+void zcrossa (doubleComplex* inp1, int size1_r, int size1_c, doubleComplex* inp2, int size2_r, int size2_c ,doubleComplex* oup)
+{
+ int i,j;
+
+ if (size1_c == 3 && size1_r == 1) // Calculating the cross product for a 1X3 Matrix
+ {
+ oup[0] = inp1[1]*inp2[2] - inp1[2]*inp2[1];
+ oup[1] = inp1[2]*inp2[0] - inp1[0]*inp2[2];
+ oup[2] = inp1[0]*inp2[1] - inp1[1]*inp2[0];
+ printf("%lf ", oup[0]);
+ printf("%lf ", oup[1]);
+ printf("%lf \n", oup[2]);
+ }
+ else // Calculating the cross product for a 3XN Matrix
+ {
+ for(i = 0; i < size1_r; i++)
+ {
+ for(j = 0; j < size1_c; j = j+3)
+ {
+ oup[j+(i*size1_r)] = inp1[(j+1)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)] - inp1[(j+2)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)];
+ oup[(j+1)+(i*size1_r)] = inp1[(j+2)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)] - inp1[(j+0)+(i*size1_r)] * inp2[(j+2)+(i*size1_r)];
+ oup[(j+2)+(i*size1_r)] = inp1[(j+0)+(i*size1_r)] * inp2[(j+1)+(i*size1_r)] - inp1[(j+1)+(i*size1_r)] * inp2[(j+0)+(i*size1_r)];
+
+ }
+ }
+
+ }
+}
+
diff --git a/2.3-1/src/c/matrixOperations/includes/cross.h b/2.3-1/src/c/matrixOperations/includes/cross.h
new file mode 100644
index 00000000..0abd0019
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/includes/cross.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __CROSS_H__
+#define __CROSS_H__
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dcrossa (double* inp1, int size1_r, int size1_c, double* inp2, int size2_r, int size2_c ,double* oup);
+void zcrossa (doubleComplex* inp1, int size1_r, int size1_c, doubleComplex* inp2, int size2_r, int size2_c ,doubleComplex* oup);
+void ccrossa (floatComplex* inp1, int size1_r, int size1_c, floatComplex* inp2, int size2_r, int size2_c ,floatComplex* oup);
+void scrossa (float* inp1, int size1_r, int size1_c, float* inp2, int size2_r, int size2_c ,float* oup);
+void u8crossa (uint8* inp1, int size1_r, int size1_c, uint8* inp2, int size2_r, int size2_c ,uint8* oup);
+void u16crossa (uint16* inp1, int size1_r, int size1_c, uint16* inp2, int size2_r, int size2_c ,uint16* oup);
+void i8crossa (int8* inp1, int size1_r, int size1_c, int8* inp2, int size2_r, int size2_c ,int8* oup);
+void i16crossa (int16* inp1, int size1_r, int size1_c, int16* inp2, int size2_r, int size2_c ,int16* oup);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__CROSS_H__*/
diff --git a/2.3-1/src/c/matrixOperations/interfaces/int_cross.h b/2.3-1/src/c/matrixOperations/interfaces/int_cross.h
new file mode 100644
index 00000000..8f4e7824
--- /dev/null
+++ b/2.3-1/src/c/matrixOperations/interfaces/int_cross.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_CROSS_H__
+#define __INT_CROSS_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d2d2crossd2(in1,size1,in2,size2,out) dcrossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define z2z2crossz2(in1,size1,in2,size2,out) zcrossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define c2c2crossc2(in1,size1,in2,size2,out) ccrossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define s2s2crosss2(in1,size1,in2,size2,out) scrossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define u82u82crossu82(in1,size1,in2,size2,out) u8crossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define i82i82crossi82(in1,size1,in2,size2,out) i8crossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define u162u162crossu162(in1,size1,in2,size2,out) u16crossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+#define i162i162crossi162(in1,size1,in2,size2,out) i16crossa(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_CROSS_H__*/
diff --git a/2.3-1/src/c/specialFunctions/erf/derfa.c b/2.3-1/src/c/specialFunctions/erf/derfa.c
new file mode 100644
index 00000000..972d7437
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erf/derfa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erf.h"
+
+void derfa(double* inp1, int sizer, int sizec,double* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = erf(inp1[i]);
+ }
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erf/derfs.c b/2.3-1/src/c/specialFunctions/erf/derfs.c
new file mode 100644
index 00000000..22b5d642
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erf/derfs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erf.h"
+
+double derfs(double inp1)
+{
+ return erf(inp1);
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erf/serfa.c b/2.3-1/src/c/specialFunctions/erf/serfa.c
new file mode 100644
index 00000000..0db4a7b2
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erf/serfa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erf.h"
+
+void serfa(float* inp1, int sizer, int sizec,float* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = erf(inp1[i]);
+ }
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erf/serfs.c b/2.3-1/src/c/specialFunctions/erf/serfs.c
new file mode 100644
index 00000000..66638a15
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erf/serfs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erf.h"
+
+float serfs(float inp1)
+{
+ return erf(inp1);
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erfc/derfca.c b/2.3-1/src/c/specialFunctions/erfc/derfca.c
new file mode 100644
index 00000000..85c92efb
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erfc/derfca.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erfc.h"
+
+void derfca(double* inp1, int sizer, int sizec, double* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = derfcs(inp1[i]);
+ }
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erfc/derfcs.c b/2.3-1/src/c/specialFunctions/erfc/derfcs.c
new file mode 100644
index 00000000..31c98463
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erfc/derfcs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erfc.h"
+
+double derfcs(double inp1)
+{
+ return (1-erf(inp1));
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erfc/serfca.c b/2.3-1/src/c/specialFunctions/erfc/serfca.c
new file mode 100644
index 00000000..469c5a16
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erfc/serfca.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erfc.h"
+
+void serfca(float* inp1, int sizer, int sizec, float* out)
+{
+ for (int i = 0; i < sizer*sizec; i++)
+ {
+ out[i] = serfcs(inp1[i]);
+ }
+}
+
diff --git a/2.3-1/src/c/specialFunctions/erfc/serfcs.c b/2.3-1/src/c/specialFunctions/erfc/serfcs.c
new file mode 100644
index 00000000..3f93a807
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/erfc/serfcs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "erfc.h"
+
+float serfcs(float inp1)
+{
+ return (1-erf(inp1));
+}
+
diff --git a/2.3-1/src/c/specialFunctions/includes/erf.h b/2.3-1/src/c/specialFunctions/includes/erf.h
new file mode 100644
index 00000000..86bb15d7
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/includes/erf.h
@@ -0,0 +1,35 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __ERF_H__
+#define __ERF_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double derfs(double inp1);
+float serfs(float inp1);
+void derfa(double* inp1, int sizer, int sizec,double* out);
+void serfa(float* inp1, int sizer, int sizec,float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ERF_H__*/
diff --git a/2.3-1/src/c/specialFunctions/includes/erfc.h b/2.3-1/src/c/specialFunctions/includes/erfc.h
new file mode 100644
index 00000000..77847ab5
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/includes/erfc.h
@@ -0,0 +1,36 @@
+/*
+ * 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
+ *
+ */
+
+#ifndef __ERFC_H__
+#define __ERFC_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double derfcs(double inp1);
+void derfca(double* inp1, int sizer, int sizec,double* out);
+float serfcs(float inp1);
+void serfca(float* inp1, int sizer, int sizec, float* out);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ERFC_H__*/
diff --git a/2.3-1/src/c/specialFunctions/interfaces/int_erf.h b/2.3-1/src/c/specialFunctions/interfaces/int_erf.h
new file mode 100644
index 00000000..87f11f9a
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/interfaces/int_erf.h
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ERF_H__
+#define __INT_ERF_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0erfd0(in1) derfs(in1)
+#define s0erfs0(in1) serfs(in1)
+#define d2erfd2(in1,size,out) derfa(in1,size[0],size[1],out)
+#define s2erfs2(in1,size,out) serfa(in1,size[0],size[1],out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ERF_H__*/
diff --git a/2.3-1/src/c/specialFunctions/interfaces/int_erfc.h b/2.3-1/src/c/specialFunctions/interfaces/int_erfc.h
new file mode 100644
index 00000000..64ae0fa8
--- /dev/null
+++ b/2.3-1/src/c/specialFunctions/interfaces/int_erfc.h
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ 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
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ERFC_H__
+#define __INT_ERFC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0erfcd0(in1) derfcs(in1)
+#define s0erfcs0(in1) serfcs(in1)
+#define d2erfcd2(in1,size,out) derfca(in1,size[0],size[1],out)
+#define s2erfcs2(in1,size,out) serfca(in1,size[0],size[1],out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ERFC_H__*/
diff --git a/2.3-1/src/c/string/strcspn/gstrcspna.c b/2.3-1/src/c/string/strcspn/gstrcspna.c
index 2c83c724..91de8af7 100644
--- a/2.3-1/src/c/string/strcspn/gstrcspna.c
+++ b/2.3-1/src/c/string/strcspn/gstrcspna.c
@@ -14,19 +14,28 @@
#include "strcspn.h"
uint8 gstrcspna(char *str1,int size1,char *str2,int size2)
{
- int ind,i,j;
- for(i=0;i<=size2;i++)
+ uint8 ind=size1+1;
+ int l,m;
+ for(m=0;m<size2;m++)
{
- for(j=0;j<=size1;j++)
- {
- if(str2[i]==str1[j])
+ int tp;
+ for(l=0;l<size1;l++)
{
- ind=j;
- break;
+ if(str2[m]==str1[l])
+ {
+ tp=l;
+ if(ind>tp)
+ {
+ ind=tp;
+ }
+ }
}
- }
}
- return (ind+1);
+ if(ind==size1+1)
+ {
+ ind=size1;
+ }
+ return ind;
}
diff --git a/2.3-1/tests/unit_tests/test_ffilt/scilabcode/ffilttest.sci b/2.3-1/tests/unit_tests/test_ffilt/scilabcode/ffilttest.sci
new file mode 100644
index 00000000..fcf1732f
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test_ffilt/scilabcode/ffilttest.sci
@@ -0,0 +1,8 @@
+function ffilttest()
+ ft="sb";
+ ni=5;
+ fc=0.2;
+ fh=0.9;
+ xi=ffilt(ft,ni,fc,fh);
+ disp(xi);
+endfunction
diff --git a/2.3-1/tests/unit_tests/test_ffilt/scilabcode/main.sci b/2.3-1/tests/unit_tests/test_ffilt/scilabcode/main.sci
new file mode 100644
index 00000000..ced653a3
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test_ffilt/scilabcode/main.sci
@@ -0,0 +1,12 @@
+// The main function test the ffilt function
+// ffilt->returns the coefficients of FIR low pass filter
+function main()
+ ft="sb"; //ft is the type of filter
+ ni=5; //ni is the number of filters sample required
+ fc=0.2; //low frequency cutoff
+ fh=0.9; //high cutoff frequency
+ xi=ffilt(ft,ni,fc,fh);
+ disp(xi);
+endfunction
+//output
+// 0.2449143 0.4898285 - 0.4 0.4898285 0.2449143
diff --git a/2.3-1/tests/unit_tests/test_filtsinc/scilabcode/filt_sinctest.sci b/2.3-1/tests/unit_tests/test_filtsinc/scilabcode/filt_sinctest.sci
new file mode 100644
index 00000000..ab674b67
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test_filtsinc/scilabcode/filt_sinctest.sci
@@ -0,0 +1,10 @@
+//This is the demo for filt_sinc function
+//This function gives the samples of the sinc fuction
+function filt_sinctest()
+ ni=int(10); //This is the number of samples
+ fc=2; //This is the cut-off freq. of the assosciated low pass filter
+ sd=filt_sinc(ni,fc);
+ disp(sd);
+endfunction
+//output
+//
diff --git a/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/fsfirlintest.sci b/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/fsfirlintest.sci
new file mode 100644
index 00000000..4ecec4ea
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/fsfirlintest.sci
@@ -0,0 +1,6 @@
+function fsfirlintest()
+ in=[1 2 3 4 5 6 7 8];
+ flg=2;
+ op=fsfirlin(in,flg);
+ disp(op);
+endfunction
diff --git a/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/main.sci b/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/main.sci
new file mode 100644
index 00000000..a3acc51b
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test_fsfirlin/scilabcode/main.sci
@@ -0,0 +1,9 @@
+//This is the demo file to test the function fsfirlin
+//The function gives design of FIR,linear phase filters using frequency sampling technique
+function main()
+ in=[1 2 3 4 5 6 7 8]; //This is the vector of desired frequency responses samples
+ flg=2; //flg=2 for type-2 filter , it can be 1 for type-1 filter
+ op=fsfirlin(in,flg);
+ disp(op);
+endfunction
+//output