From 38f1fb926d82f9144a5e9a28595d2d21dcc08f8e Mon Sep 17 00:00:00 2001 From: Jorawar Singh Date: Thu, 20 Jul 2017 03:56:03 +0530 Subject: Added demo and lcd128x64 fixed --- demos/RPi/RPi.dem.gateway.sce | 1 + demos/RPi/test_lcd.dem.sce | 19 +++ demos/scilab2c.dem.gateway.sce | 6 +- jar/scilab_en_US_help.jar | Bin 11210 -> 19272 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 139 ++++++++++++++++++++- .../rasberrypi/includes/RPIPeripheralLCD128x64.h | 4 + .../rasberrypi/interfaces/int_RPIPeripheralLCD.h | 7 ++ .../interfaces/int_RPIPeripheralLCD128x64.h | 1 + tests/unit_tests/test_RPi/lcd.sci | 47 +++++++ tests/unit_tests/test_RPi/wait_and_blink.sci | 11 ++ 10 files changed, 226 insertions(+), 9 deletions(-) create mode 100644 demos/RPi/test_lcd.dem.sce create mode 100644 tests/unit_tests/test_RPi/lcd.sci diff --git a/demos/RPi/RPi.dem.gateway.sce b/demos/RPi/RPi.dem.gateway.sce index 29d4c710..c125e9c7 100644 --- a/demos/RPi/RPi.dem.gateway.sce +++ b/demos/RPi/RPi.dem.gateway.sce @@ -11,6 +11,7 @@ subdemolist = ["Wait and Blink","test_wait_and_blink.dem.sce"; + "LCD","test_lcd.dem.sce" ]; global SCI2CHOME; diff --git a/demos/RPi/test_lcd.dem.sce b/demos/RPi/test_lcd.dem.sce new file mode 100644 index 00000000..2bd19516 --- /dev/null +++ b/demos/RPi/test_lcd.dem.sce @@ -0,0 +1,19 @@ +// 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: Jorawar Singh, Sandeep Gupta +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in +// + +lines(0); + +global SCI2CHOME + +scilab2c(SCI2CHOME + "/tests/unit_tests/test_RPi/lcd.sci", TMPDIR,SCI2CHOME + "/tests/unit_tests/test_RPi/", "All", "make" ,"RPi", "uno"); + +editor([TMPDIR+"/main.c"]); diff --git a/demos/scilab2c.dem.gateway.sce b/demos/scilab2c.dem.gateway.sce index 7e987879..1e2a6c7f 100644 --- a/demos/scilab2c.dem.gateway.sce +++ b/demos/scilab2c.dem.gateway.sce @@ -22,7 +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";] + "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/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index ccb99610..90c41f4b 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 89ffc36f..17a8ca57 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -6244,6 +6244,30 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//------------------------------------ +//---- Class RPI_0IN_i8 ------------ +//------------------------------------ +ClassName = 'RPI_0IN_i8'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); +PrintStringInfo('NIN= 0',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''i8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo(''+ArgSeparator+'i80',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'RPI_lcd128x64setup'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + //------------------------------------ //---- Class RPI_1IN_u8_Void ------- //------------------------------------ @@ -6296,6 +6320,14 @@ FunctionName = 'RPI_softToneStop'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64clear'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64Orientation'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_1IN_u16_Void ------ @@ -6570,6 +6602,7 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80'+ArgSeparator+'',ClassFileName,'file','y'); +PrintStringInfo('u80d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -6617,6 +6650,10 @@ FunctionName = 'RPI_serialPutchar'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64setOrigin'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_2IN_u8u16_Void ---- @@ -6830,9 +6867,9 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ -//---- Class RPI_2IN_u16u8_u8 ----- +//---- Class RPI_2IN_u16u8_i8 ----- //------------------------------------ -ClassName = 'RPI_2IN_u16u8_u8'; +ClassName = 'RPI_2IN_u16u8_i8'; // --- Class Annotation. --- PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); @@ -6845,8 +6882,8 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('u160u80'+ArgSeparator+'u80',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('u160u80'+ArgSeparator+'i80',ClassFileName,'file','y'); +PrintStringInfo('d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'RPI_pcf8574Setup'; @@ -6879,11 +6916,16 @@ ClassName = 'RPI_3IN_u8u8u8_Void'; PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80u80'+ArgSeparator+'',ClassFileName,'file','y'); +PrintStringInfo('u80u80d0'+ArgSeparator+'',ClassFileName,'file','y'); +PrintStringInfo('u80d0d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -6895,6 +6937,18 @@ FunctionName = 'RPI_piGlow1'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_serialPutchar'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64point'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64lineTo'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_3IN_u16u16u16_i8 -- @@ -6906,6 +6960,9 @@ PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''i8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); @@ -6932,6 +6989,9 @@ PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); @@ -7048,6 +7108,72 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//--------------------------------------- +//---- Class RPI_5IN_u8u8u8u8u8_Void -- +//--------------------------------------- +ClassName = 'RPI_5IN_u8u8u8u8u8_Void'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); +PrintStringInfo('NIN= 5',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('u80u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y'); +PrintStringInfo('d0d0d0d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'RPI_lcd128x64line'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64circle'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64putchar'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64puts'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +//----------------------------------------- +//---- Class RPI_6IN_u8u8u8u8u8u8_Void -- +//----------------------------------------- +ClassName = 'RPI_6IN_u8u8u8u8u8u8_Void'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); +PrintStringInfo('NIN= 6',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); + +// --- Function List Class. --- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('u80u80u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y'); +PrintStringInfo('d0d0d0d0d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'RPI_lcd128x64rectangle'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +FunctionName = 'RPI_lcd128x64ellipse'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + //------------------------------------ //---- Class RPI_10IN_u8x10_Void --- //------------------------------------ @@ -7065,6 +7191,7 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y'); +PrintStringInfo('u80d0d0d0d0d0d0d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0d0d0d0d0d0d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -7081,7 +7208,7 @@ ClassName = 'RPI_13IN_u8x13_u8'; // --- Class Annotation. --- PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); -PrintStringInfo('NIN= 10',ClassFileName,'file','y'); +PrintStringInfo('NIN= 13',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h index d541c9fd..93bdf279 100644 --- a/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h +++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h @@ -22,13 +22,17 @@ extern "C" { int8 RPI_lcd128x64setup(void); void u8RPI_lcd128x64clears(uint8 colour); void u8RPI_lcd128x64Orientations(uint8 orientation); + void u8RPI_lcd128x64setOrigins(uint8 x, uint8 y); + void u8RPI_lcd128x64points(uint8 x, uint8 y, uint8 colour); void u8RPI_lcd128x64lineTos(uint8 x, uint8 y, uint8 colour); + void u8RPI_lcd128x64lines(uint8 x0, uint8 y0, uint8 x1, uint8 y1, uint8 colour); void u8RPI_lcd128x64circles(uint8 x, uint8 y, uint8 r, uint8 colour, uint8 filled); void u8RPI_lcd128x64putchars(uint8 x, uint8 y, uint8 c, uint8 bgCol, uint8 fgCol); void u8RPI_lcd128x64putss(uint8 x, uint8 y, char *str,int size, uint8 bgCol, uint8 fgCol); + void u8RPI_lcd128x64rectangles(uint8 x1, uint8 y1, uint8 x2, uint8 y2, uint8 colour, uint8 filled); void u8RPI_lcd128x64ellipses(uint8 cx, uint8 cy, uint8 xRadius, uint8 yRadius, uint8 colour, uint8 filled); diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h index e6dcb7db..803f93e3 100644 --- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h +++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h @@ -21,18 +21,22 @@ extern "C" { #endif #define u80u80u80u80u80u80u80u80u80u80RPI_lcdCharDef(fd,index,d0,d1,d2,d3,d4,d5,d6,d7) u8RPI_lcdCharDefs(fd,index,d0,d1,d2,d3,d4,d5,d6,d7); +#define u80d0d0d0d0d0d0d0d0d0RPI_lcdCharDef(fd,index,d0,d1,d2,d3,d4,d5,d6,d7) u8RPI_lcdCharDefs(fd,index,d0,d1,d2,d3,d4,d5,d6,d7); #define d0d0d0d0d0d0d0d0d0d0RPI_lcdCharDef(fd,index,d0,d1,d2,d3,d4,d5,d6,d7) u8RPI_lcdCharDefs(fd,index,d0,d1,d2,d3,d4,d5,d6,d7); #define u80RPI_lcdClear(fd) u8RPI_lcdClears(fd); #define d0RPI_lcdClear(fd) u8RPI_lcdClears(fd); #define u80u80RPI_lcdCursorBlink(fd,state) u8RPI_lcdCursorBlinks(fd,state); +#define u80d0RPI_lcdCursorBlink(fd,state) u8RPI_lcdCursorBlinks(fd,state); #define d0d0RPI_lcdCursorBlink(fd,state) u8RPI_lcdCursorBlinks(fd,state); #define u80u80RPI_lcdCursor(fd,state) u8RPI_lcdCursors(fd,state); +#define u80d0RPI_lcdCursor(fd,state) u8RPI_lcdCursors(fd,state); #define d0d0RPI_lcdCursor(fd,state) u8RPI_lcdCursors(fd,state); #define u80u80RPI_lcdDisplay(fd,state) u8RPI_lcdDisplays(fd,state); +#define u80d0RPI_lcdDisplay(fd,state) u8RPI_lcdDisplays(fd,state); #define d0d0RPI_lcdDisplay(fd,state) u8RPI_lcdDisplays(fd,state); #define u80RPI_lcdHome(fd) u8RPI_lcdHomes(fd); @@ -42,12 +46,15 @@ extern "C" { #define d0d0d0d0d0d0d0d0d0d0d0d0d0RPI_lcdIniti80(rows,cols,bits,rs,strb,d0,d1,d2,d3,d4,d5,d6,d7) u8RPI_lcdInits(rows,cols,bits,rs,strb,d0,d1,d2,d3,d4,d5,d6,d7); #define u80u80u80RPI_lcdPosition(fd,row,col) u8RPI_lcdPositions(fd,row,col); +#define u80d0d0RPI_lcdPosition(fd,row,col) u8RPI_lcdPositions(fd,row,col); #define d0d0d0RPI_lcdPosition(fd,row,col) u8RPI_lcdPositions(fd,row,col); #define u80u80RPI_lcdPutchar(fd,char) u8RPI_lcdPutchars(fd,char); +#define u80d0RPI_lcdPutchar(fd,char) u8RPI_lcdPutchars(fd,char); #define d0d0RPI_lcdPutchar(fd,char) u8RPI_lcdPutchars(fd,char); #define u80u80RPI_lcdSendCommand(fd,cmd) u8RPI_lcdSendCommands(fd,cmd); +#define u80d0RPI_lcdSendCommand(fd,cmd) u8RPI_lcdSendCommands(fd,cmd); #define d0d0RPI_lcdSendCommand(fd,cmd) u8RPI_lcdSendCommands(fd,cmd); #define u80g2RPI_lcdPuts(fd,msg,size) u8RPI_lcdPutss(fd,msg,size[1]);; diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h index 77cc433c..8bb4b17e 100644 --- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h +++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h @@ -33,6 +33,7 @@ extern "C" { #define u80u80u80RPI_lcd128x64point(x,y,colour) u8RPI_lcd128x64points(x,y,colour); #define d0d0d0RPI_lcd128x64point(x,y,colour) u8RPI_lcd128x64points(x,y,colour); + #define u80u80u80RPI_lcd128x64lineTo(x,y,colour) u8RPI_lcd128x64lineTos(x,y,colour); #define d0d0d0RPI_lcd128x64lineTo(x,y,colour) u8RPI_lcd128x64lineTos(x,y,colour); diff --git a/tests/unit_tests/test_RPi/lcd.sci b/tests/unit_tests/test_RPi/lcd.sci new file mode 100644 index 00000000..984ecbbb --- /dev/null +++ b/tests/unit_tests/test_RPi/lcd.sci @@ -0,0 +1,47 @@ +// 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: Jorawar Singh +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + +function lcd() + raspi("10.42.0.144","panda","pi"); // setup connection to Pi + RPI_pinNumbering("wiringpi"); // initialize pin numbering + // LCD connections: + // 2 rows + // 16 columns + // 8 bits + // wiringPi pin 28 - rs + // wiringPi pin 29 - strobe/E + // wiringPi pins 0-7 - lcd data pins 0 to 7 + // + + fd=RPI_lcdInit(2,16,8,28,29,0,1,2,3,4,5,6,7) // initialize lcd with the above mentioned connections + RPI_lcdDisplay(fd,1) // switch on display + RPI_lcdCursor(fd,1) // show the cursor + RPI_lcdCursorBlink(fd,1) // blink the cursor + RPI_lcdPrintf(fd,"The Elder") // print to lcd + RPI_lcdPosition(fd,0,1) // Goto second row first column + RPI_lcdPrintf(fd,"Scrolls V Skyrim") // print to lcd + RPI_lcdHome(fd) // goto first row first column (0,0) + RPI_lcdClear(fd) // clear the lcd + RPI_lcdPrintf(fd,"Volume: ") // print character corresponding to number 125 + RPI_lcdCharDef(fd,0,0,0,0,0,0,0,0,255) // define a custom character at position 0 + RPI_lcdCharDef(fd,1,0,0,0,0,0,0,255,255) // define a custom character at position 1 + RPI_lcdCharDef(fd,2,0,0,0,0,0,255,255,255) + RPI_lcdCharDef(fd,3,0,0,0,0,255,255,255,255) + RPI_lcdCharDef(fd,4,0,0,0,255,255,255,255,255) + RPI_lcdCharDef(fd,5,0,0,255,255,255,255,255,255) + RPI_lcdCharDef(fd,6,0,255,255,255,255,255,255,255) + RPI_lcdCharDef(fd,7,255,255,255,255,255,255,255,255) + for i=0:7:1 + RPI_lcdPutchar(fd,1) // print the custom characters + end + disp("Demo completed successfully.") + raspi_close(); // close the opened connection +endfunction diff --git a/tests/unit_tests/test_RPi/wait_and_blink.sci b/tests/unit_tests/test_RPi/wait_and_blink.sci index 099feaa0..7f77ad0f 100644 --- a/tests/unit_tests/test_RPi/wait_and_blink.sci +++ b/tests/unit_tests/test_RPi/wait_and_blink.sci @@ -1,3 +1,14 @@ +// 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: Jorawar Singh +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + function wait_and_blink() raspi("10.42.0.144","panda","pi"); // setup connection to Pi RPI_pinNumbering("wiringpi"); // initialize pin numbering -- cgit From c70a50ed3df714fc52f18b41539c7f0ac2734f32 Mon Sep 17 00:00:00 2001 From: Brijeshcr Date: Thu, 20 Jul 2017 19:35:19 +0530 Subject: Added erfinv --- demos/Brijesh_Demos/Test_Erfinv.sci | 10 +++++ includes/sci2clib.h | 7 ++- jar/scilab_en_US_help.jar | Bin 11210 -> 11210 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 30 +++++++++++++ macros/findDeps/getAllHeaders.sci | 1 + macros/findDeps/getAllInterfaces.sci | 1 + macros/findDeps/getAllSources.sci | 4 ++ src/c/specialFunctions/erfinv/derfinva.c | 25 +++++++++++ src/c/specialFunctions/erfinv/derfinvs.c | 49 ++++++++++++++++++++ src/c/specialFunctions/erfinv/serfinva.c | 25 +++++++++++ src/c/specialFunctions/erfinv/serfinvs.c | 50 +++++++++++++++++++++ src/c/specialFunctions/includes/erfinv.h | 35 +++++++++++++++ src/c/specialFunctions/interfaces/int_erfinv.h | 30 +++++++++++++ 13 files changed, 266 insertions(+), 1 deletion(-) create mode 100644 demos/Brijesh_Demos/Test_Erfinv.sci create mode 100644 src/c/specialFunctions/erfinv/derfinva.c create mode 100644 src/c/specialFunctions/erfinv/derfinvs.c create mode 100644 src/c/specialFunctions/erfinv/serfinva.c create mode 100644 src/c/specialFunctions/erfinv/serfinvs.c create mode 100644 src/c/specialFunctions/includes/erfinv.h create mode 100644 src/c/specialFunctions/interfaces/int_erfinv.h diff --git a/demos/Brijesh_Demos/Test_Erfinv.sci b/demos/Brijesh_Demos/Test_Erfinv.sci new file mode 100644 index 00000000..99a8683a --- /dev/null +++ b/demos/Brijesh_Demos/Test_Erfinv.sci @@ -0,0 +1,10 @@ +function Test_Erfinv + disp('Datatype: Double'); + i1 = [12 0.6 -2 -0.75]; + o1 = erfinv(i1); + disp(o1); + disp('Datatype: float'); + i2 = float([5 0.35 -1 -.97 -6]); + o2 = erf(i2); + disp(o2); +endfunction diff --git a/includes/sci2clib.h b/includes/sci2clib.h index dbfc8ccf..10476ea5 100644 --- a/includes/sci2clib.h +++ b/includes/sci2clib.h @@ -86,10 +86,15 @@ extern "C" { #include "erf.h" #include "int_erf.h" -/* interfacing erf */ +/* interfacing erfc */ #include "erfc.h" #include "int_erfc.h" +/* interfacing erfinv */ +#include "erfinv.h" +#include "int_erfinv.h" + + /* ELEMENTARY FUNCTIONS */ #include "nextpow2.h" diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index fb924f1b..45e15edf 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 85472a8a..265dd953 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -4931,6 +4931,36 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//------------------------------------ +//---- Class ERFINV ---------------- +//------------------------------------ +ClassName = 'erfinv'; + +// --- 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 = 'erfinv'; +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/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index cf606ab5..a00d15e4 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -227,6 +227,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/sinc.h" "src/c/specialFunctions/includes/erf.h" "src/c/specialFunctions/includes/erfc.h" + "src/c/specialFunctions/includes/erfinv.h" "src/c/CACSD/includes/syslin.h" "src/c/CACSD/includes/lqr.h" "src/c/CACSD/includes/lqe.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 977ea76e..ece1685d 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -222,6 +222,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_sinc.h" "src/c/specialFunctions/interfaces/int_erf.h" "src/c/specialFunctions/interfaces/int_erfc.h" + "src/c/specialFunctions/interfaces/int_erfinv.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/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index 60908c88..b72a19f4 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -1336,6 +1336,10 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/specialFunctions/erfc/derfca.c" "src/c/specialFunctions/erfc/serfcs.c" "src/c/specialFunctions/erfc/serfca.c" + "src/c/specialFunctions/erfinv/derfinvs.c" + "src/c/specialFunctions/erfinv/derfinva.c" + "src/c/specialFunctions/erfinv/serfinvs.c" + "src/c/specialFunctions/erfinv/serfinva.c" "src/c/CACSD/syslin/dsyslina.c" "src/c/CACSD/lqr/dlqra.c" "src/c/CACSD/lqe/dlqea.c" diff --git a/src/c/specialFunctions/erfinv/derfinva.c b/src/c/specialFunctions/erfinv/derfinva.c new file mode 100644 index 00000000..45d119c4 --- /dev/null +++ b/src/c/specialFunctions/erfinv/derfinva.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 +#include +#include +#include "erfinv.h" + +void derfinva(double* inp1, int sizer, int sizec,double* out) +{ + for (int i = 0; i < sizer*sizec; i++) + { + out[i] = derfinvs(inp1[i]); + } +} + diff --git a/src/c/specialFunctions/erfinv/derfinvs.c b/src/c/specialFunctions/erfinv/derfinvs.c new file mode 100644 index 00000000..379d6af5 --- /dev/null +++ b/src/c/specialFunctions/erfinv/derfinvs.c @@ -0,0 +1,49 @@ +/* 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 +#include +#include +#include "erfinv.h" + +# define PI 3.1415927 + +double derfinvs (double inp1) +{ + double a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; + double b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; + double c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; + double d[] = {3.74146294065960872,1.81848952562894617}; + + if ((inp1 > 1) || (inp1 < -1)) + { + return 0.0/0.0; + } + if ((inp1 >= -0.7) && (inp1 <= 0.7)) + { + double sq = inp1 * inp1; + return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); + } + + else if ((inp1 > 0.7) && (inp1 < 1)) + { + double z = sqrt(-log((1-inp1)/2)); + return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + } + + else if ((inp1 > -1) && (inp1 < 0.7)) + { + double z = sqrt(-log((1+inp1)/2)); + return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + } +} + diff --git a/src/c/specialFunctions/erfinv/serfinva.c b/src/c/specialFunctions/erfinv/serfinva.c new file mode 100644 index 00000000..56e47c2a --- /dev/null +++ b/src/c/specialFunctions/erfinv/serfinva.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 +#include +#include +#include "erfinv.h" + +void serfinva(float* inp1, int sizer, int sizec,float* out) +{ + for (int i = 0; i < sizer*sizec; i++) + { + out[i] = derfinvs(inp1[i]); + } +} + diff --git a/src/c/specialFunctions/erfinv/serfinvs.c b/src/c/specialFunctions/erfinv/serfinvs.c new file mode 100644 index 00000000..2d97ef7b --- /dev/null +++ b/src/c/specialFunctions/erfinv/serfinvs.c @@ -0,0 +1,50 @@ +/* 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 +#include +#include +#include "erfinv.h" + +# define PI 3.1415927 + +float serfinvs (float inp1) +{ + float a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; + float b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; + float c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; + float d[] = {3.74146294065960872,1.81848952562894617}; + + if ((inp1 > 1) || (inp1 < -1)) + { + double na = 0.0/0.0; + return (float)na; + } + if ((inp1 >= -0.7) && (inp1 <= 0.7)) + { + float sq = inp1 * inp1; + return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); + } + + else if ((inp1 > 0.7) && (inp1 < 1)) + { + float z = sqrt(-log((1-inp1)/2)); + return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + } + + else if ((inp1 > -1) && (inp1 < 0.7)) + { + float z = sqrt(-log((1+inp1)/2)); + return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + } +} + diff --git a/src/c/specialFunctions/includes/erfinv.h b/src/c/specialFunctions/includes/erfinv.h new file mode 100644 index 00000000..5d6210cc --- /dev/null +++ b/src/c/specialFunctions/includes/erfinv.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 __ERFINV_H__ +#define __ERFINV_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 derfinvs (double inp1); +float serfinvs (float inp1); +void derfinva(double* inp1, int sizer, int sizec,double* out); +void serfinva(float* inp1, int sizer, int sizec,float* out); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__ERFINV_H__*/ diff --git a/src/c/specialFunctions/interfaces/int_erfinv.h b/src/c/specialFunctions/interfaces/int_erfinv.h new file mode 100644 index 00000000..f19baa12 --- /dev/null +++ b/src/c/specialFunctions/interfaces/int_erfinv.h @@ -0,0 +1,30 @@ +/* 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_ERFINV_H__ +#define __INT_ERFINV_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d0erfinvd0(in1) derfinvs(in1) +#define s0erfinvs0(in1) serfinvs(in1) +#define d2erfinvd2(in1,size,out) derfinva(in1,size[0],size[1],out) +#define s2erfinvs2(in1,size,out) serfinva(in1,size[0],size[1],out) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__INT_ERFINV_H__*/ -- cgit From 29388094e30cae9f11ba82360c1d9bc03b229d10 Mon Sep 17 00:00:00 2001 From: Brijeshcr Date: Thu, 20 Jul 2017 21:03:09 +0530 Subject: Added Erfcx --- demos/Brijesh_Demos/Test_Erfcx.sci | 10 + includes/sci2clib.h | 4 + jar/scilab_en_US_help.jar | Bin 18123 -> 11210 bytes macros/ASTManagement/lib | Bin 0 -> 2008 bytes macros/CCodeGeneration/lib | Bin 0 -> 1056 bytes macros/ErrorMessages/lib | Bin 0 -> 520 bytes macros/FunctionAnnotation/lib | Bin 0 -> 2412 bytes macros/FunctionList/lib | Bin 0 -> 588 bytes macros/GeneralFunctions/lib | Bin 0 -> 1132 bytes macros/Hardware/AVR/lib | Bin 0 -> 972 bytes macros/Hardware/RasberryPi/Digital/lib | Bin 0 -> 600 bytes macros/Hardware/RasberryPi/I2C/lib | Bin 0 -> 704 bytes macros/Hardware/RasberryPi/Interrupt/lib | Bin 0 -> 536 bytes macros/Hardware/RasberryPi/Misc/lib | Bin 0 -> 564 bytes macros/Hardware/RasberryPi/SPI/lib | Bin 0 -> 584 bytes macros/Hardware/RasberryPi/Serial/lib | Bin 0 -> 692 bytes macros/Hardware/RasberryPi/Setup/lib | Bin 0 -> 616 bytes macros/Hardware/RasberryPi/Shift/lib | Bin 0 -> 568 bytes macros/Hardware/RasberryPi/Soft/lib | Bin 0 -> 636 bytes macros/Hardware/RasberryPi/Timing/lib | Bin 0 -> 596 bytes macros/Hardware/RasberryPi/gertBoard/lib | Bin 0 -> 656 bytes macros/Hardware/RasberryPi/lcd/lib | Bin 0 -> 776 bytes macros/Hardware/RasberryPi/lcd128x64/lib | Bin 0 -> 800 bytes macros/Hardware/RasberryPi/lib | Bin 0 -> 592 bytes macros/Hardware/RasberryPi/mcp/lib | Bin 0 -> 608 bytes macros/Hardware/RasberryPi/pcf/lib | Bin 0 -> 536 bytes macros/Hardware/RasberryPi/piGlow/lib | Bin 0 -> 596 bytes macros/Hardware/RasberryPi/pinMap/lib | Bin 0 -> 548 bytes macros/Hardware/RasberryPi/pwm/lib | Bin 0 -> 608 bytes macros/ImageProcessing/core/lib | Bin 0 -> 524 bytes macros/ImageProcessing/highgui/lib | Bin 0 -> 584 bytes macros/ImageProcessing/imgproc/lib | Bin 0 -> 752 bytes macros/Scilab-Arduino/lib | Bin 0 -> 716 bytes macros/SymbolTable/lib | Bin 0 -> 752 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 255 ++++----------------- macros/ToolInitialization/lib | Bin 0 -> 804 bytes macros/findDeps/getAllHeaders.sci | 1 + macros/findDeps/getAllInterfaces.sci | 1 + macros/findDeps/getAllSources.sci | 40 +--- macros/findDeps/lib | Bin 0 -> 620 bytes macros/lib | Bin 0 -> 536 bytes src/c/specialFunctions/erfcx/derfcxa.c | 26 +++ src/c/specialFunctions/erfcx/derfcxs.c | 23 ++ src/c/specialFunctions/erfcx/serfcxa.c | 26 +++ src/c/specialFunctions/erfcx/serfcxs.c | 23 ++ src/c/specialFunctions/erfinv/derfinvs.c | 16 +- src/c/specialFunctions/erfinv/serfinva.c | 2 +- src/c/specialFunctions/erfinv/serfinvs.c | 14 +- src/c/specialFunctions/includes/erfc.h | 20 +- src/c/specialFunctions/includes/erfcx.h | 37 +++ src/c/specialFunctions/interfaces/int_erfcx.h | 32 +++ 51 files changed, 261 insertions(+), 269 deletions(-) create mode 100644 demos/Brijesh_Demos/Test_Erfcx.sci create mode 100644 macros/ASTManagement/lib create mode 100644 macros/CCodeGeneration/lib create mode 100644 macros/ErrorMessages/lib create mode 100644 macros/FunctionAnnotation/lib create mode 100644 macros/FunctionList/lib create mode 100644 macros/GeneralFunctions/lib create mode 100644 macros/Hardware/AVR/lib create mode 100644 macros/Hardware/RasberryPi/Digital/lib create mode 100644 macros/Hardware/RasberryPi/I2C/lib create mode 100644 macros/Hardware/RasberryPi/Interrupt/lib create mode 100644 macros/Hardware/RasberryPi/Misc/lib create mode 100644 macros/Hardware/RasberryPi/SPI/lib create mode 100644 macros/Hardware/RasberryPi/Serial/lib create mode 100644 macros/Hardware/RasberryPi/Setup/lib create mode 100644 macros/Hardware/RasberryPi/Shift/lib create mode 100644 macros/Hardware/RasberryPi/Soft/lib create mode 100644 macros/Hardware/RasberryPi/Timing/lib create mode 100644 macros/Hardware/RasberryPi/gertBoard/lib create mode 100644 macros/Hardware/RasberryPi/lcd/lib create mode 100644 macros/Hardware/RasberryPi/lcd128x64/lib create mode 100644 macros/Hardware/RasberryPi/lib create mode 100644 macros/Hardware/RasberryPi/mcp/lib create mode 100644 macros/Hardware/RasberryPi/pcf/lib create mode 100644 macros/Hardware/RasberryPi/piGlow/lib create mode 100644 macros/Hardware/RasberryPi/pinMap/lib create mode 100644 macros/Hardware/RasberryPi/pwm/lib create mode 100644 macros/ImageProcessing/core/lib create mode 100644 macros/ImageProcessing/highgui/lib create mode 100644 macros/ImageProcessing/imgproc/lib create mode 100644 macros/Scilab-Arduino/lib create mode 100644 macros/SymbolTable/lib create mode 100644 macros/ToolInitialization/lib create mode 100644 macros/findDeps/lib create mode 100644 macros/lib create mode 100644 src/c/specialFunctions/erfcx/derfcxa.c create mode 100644 src/c/specialFunctions/erfcx/derfcxs.c create mode 100644 src/c/specialFunctions/erfcx/serfcxa.c create mode 100644 src/c/specialFunctions/erfcx/serfcxs.c create mode 100644 src/c/specialFunctions/includes/erfcx.h create mode 100644 src/c/specialFunctions/interfaces/int_erfcx.h diff --git a/demos/Brijesh_Demos/Test_Erfcx.sci b/demos/Brijesh_Demos/Test_Erfcx.sci new file mode 100644 index 00000000..e17ae514 --- /dev/null +++ b/demos/Brijesh_Demos/Test_Erfcx.sci @@ -0,0 +1,10 @@ +function Test_Erfcx + disp('Datatype: Double'); + i1 = [.75 .8 -.32]; + o1 = erfcx(i1); + disp(o1); + disp('Datatype: float'); + i2 = float([1 2 .5; 7 .8 .9]); + o2 = erfc(i2); + disp(o2); +endfunction diff --git a/includes/sci2clib.h b/includes/sci2clib.h index 6d03b870..d7d9e4ff 100644 --- a/includes/sci2clib.h +++ b/includes/sci2clib.h @@ -90,6 +90,10 @@ extern "C" { #include "erfc.h" #include "int_erfc.h" +/* interfacing erfcx */ +#include "erfcx.h" +#include "int_erfcx.h" + /* interfacing erfinv */ #include "erfinv.h" #include "int_erfinv.h" diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar index 3c0cd768..b609963d 100644 Binary files a/jar/scilab_en_US_help.jar and b/jar/scilab_en_US_help.jar differ diff --git a/macros/ASTManagement/lib b/macros/ASTManagement/lib new file mode 100644 index 00000000..dee4362f Binary files /dev/null and b/macros/ASTManagement/lib differ diff --git a/macros/CCodeGeneration/lib b/macros/CCodeGeneration/lib new file mode 100644 index 00000000..3d4fed1d Binary files /dev/null and b/macros/CCodeGeneration/lib differ diff --git a/macros/ErrorMessages/lib b/macros/ErrorMessages/lib new file mode 100644 index 00000000..ba3b9a5a Binary files /dev/null and b/macros/ErrorMessages/lib differ diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib new file mode 100644 index 00000000..239105c8 Binary files /dev/null and b/macros/FunctionAnnotation/lib differ diff --git a/macros/FunctionList/lib b/macros/FunctionList/lib new file mode 100644 index 00000000..1c722dd0 Binary files /dev/null and b/macros/FunctionList/lib differ diff --git a/macros/GeneralFunctions/lib b/macros/GeneralFunctions/lib new file mode 100644 index 00000000..7586a91b Binary files /dev/null and b/macros/GeneralFunctions/lib differ diff --git a/macros/Hardware/AVR/lib b/macros/Hardware/AVR/lib new file mode 100644 index 00000000..ed4c52b8 Binary files /dev/null and b/macros/Hardware/AVR/lib differ diff --git a/macros/Hardware/RasberryPi/Digital/lib b/macros/Hardware/RasberryPi/Digital/lib new file mode 100644 index 00000000..ba42ba7c Binary files /dev/null and b/macros/Hardware/RasberryPi/Digital/lib differ diff --git a/macros/Hardware/RasberryPi/I2C/lib b/macros/Hardware/RasberryPi/I2C/lib new file mode 100644 index 00000000..561476c1 Binary files /dev/null and b/macros/Hardware/RasberryPi/I2C/lib differ diff --git a/macros/Hardware/RasberryPi/Interrupt/lib b/macros/Hardware/RasberryPi/Interrupt/lib new file mode 100644 index 00000000..97a61acb Binary files /dev/null and b/macros/Hardware/RasberryPi/Interrupt/lib differ diff --git a/macros/Hardware/RasberryPi/Misc/lib b/macros/Hardware/RasberryPi/Misc/lib new file mode 100644 index 00000000..c718615f Binary files /dev/null and b/macros/Hardware/RasberryPi/Misc/lib differ diff --git a/macros/Hardware/RasberryPi/SPI/lib b/macros/Hardware/RasberryPi/SPI/lib new file mode 100644 index 00000000..a16d474e Binary files /dev/null and b/macros/Hardware/RasberryPi/SPI/lib differ diff --git a/macros/Hardware/RasberryPi/Serial/lib b/macros/Hardware/RasberryPi/Serial/lib new file mode 100644 index 00000000..a007f001 Binary files /dev/null and b/macros/Hardware/RasberryPi/Serial/lib differ diff --git a/macros/Hardware/RasberryPi/Setup/lib b/macros/Hardware/RasberryPi/Setup/lib new file mode 100644 index 00000000..83655c94 Binary files /dev/null and b/macros/Hardware/RasberryPi/Setup/lib differ diff --git a/macros/Hardware/RasberryPi/Shift/lib b/macros/Hardware/RasberryPi/Shift/lib new file mode 100644 index 00000000..2b12025f Binary files /dev/null and b/macros/Hardware/RasberryPi/Shift/lib differ diff --git a/macros/Hardware/RasberryPi/Soft/lib b/macros/Hardware/RasberryPi/Soft/lib new file mode 100644 index 00000000..09ecede9 Binary files /dev/null and b/macros/Hardware/RasberryPi/Soft/lib differ diff --git a/macros/Hardware/RasberryPi/Timing/lib b/macros/Hardware/RasberryPi/Timing/lib new file mode 100644 index 00000000..d271c900 Binary files /dev/null and b/macros/Hardware/RasberryPi/Timing/lib differ diff --git a/macros/Hardware/RasberryPi/gertBoard/lib b/macros/Hardware/RasberryPi/gertBoard/lib new file mode 100644 index 00000000..e8db080c Binary files /dev/null and b/macros/Hardware/RasberryPi/gertBoard/lib differ diff --git a/macros/Hardware/RasberryPi/lcd/lib b/macros/Hardware/RasberryPi/lcd/lib new file mode 100644 index 00000000..c2b693fa Binary files /dev/null and b/macros/Hardware/RasberryPi/lcd/lib differ diff --git a/macros/Hardware/RasberryPi/lcd128x64/lib b/macros/Hardware/RasberryPi/lcd128x64/lib new file mode 100644 index 00000000..94dfda86 Binary files /dev/null and b/macros/Hardware/RasberryPi/lcd128x64/lib differ diff --git a/macros/Hardware/RasberryPi/lib b/macros/Hardware/RasberryPi/lib new file mode 100644 index 00000000..49ed8116 Binary files /dev/null and b/macros/Hardware/RasberryPi/lib differ diff --git a/macros/Hardware/RasberryPi/mcp/lib b/macros/Hardware/RasberryPi/mcp/lib new file mode 100644 index 00000000..d411aad8 Binary files /dev/null and b/macros/Hardware/RasberryPi/mcp/lib differ diff --git a/macros/Hardware/RasberryPi/pcf/lib b/macros/Hardware/RasberryPi/pcf/lib new file mode 100644 index 00000000..da6a8dad Binary files /dev/null and b/macros/Hardware/RasberryPi/pcf/lib differ diff --git a/macros/Hardware/RasberryPi/piGlow/lib b/macros/Hardware/RasberryPi/piGlow/lib new file mode 100644 index 00000000..3f30f859 Binary files /dev/null and b/macros/Hardware/RasberryPi/piGlow/lib differ diff --git a/macros/Hardware/RasberryPi/pinMap/lib b/macros/Hardware/RasberryPi/pinMap/lib new file mode 100644 index 00000000..133363e6 Binary files /dev/null and b/macros/Hardware/RasberryPi/pinMap/lib differ diff --git a/macros/Hardware/RasberryPi/pwm/lib b/macros/Hardware/RasberryPi/pwm/lib new file mode 100644 index 00000000..8711baf0 Binary files /dev/null and b/macros/Hardware/RasberryPi/pwm/lib differ diff --git a/macros/ImageProcessing/core/lib b/macros/ImageProcessing/core/lib new file mode 100644 index 00000000..40b7b0a1 Binary files /dev/null and b/macros/ImageProcessing/core/lib differ diff --git a/macros/ImageProcessing/highgui/lib b/macros/ImageProcessing/highgui/lib new file mode 100644 index 00000000..0d7f88a9 Binary files /dev/null and b/macros/ImageProcessing/highgui/lib differ diff --git a/macros/ImageProcessing/imgproc/lib b/macros/ImageProcessing/imgproc/lib new file mode 100644 index 00000000..63b5e7e9 Binary files /dev/null and b/macros/ImageProcessing/imgproc/lib differ diff --git a/macros/Scilab-Arduino/lib b/macros/Scilab-Arduino/lib new file mode 100644 index 00000000..a62fd4e4 Binary files /dev/null and b/macros/Scilab-Arduino/lib differ diff --git a/macros/SymbolTable/lib b/macros/SymbolTable/lib new file mode 100644 index 00000000..4379c83d Binary files /dev/null and b/macros/SymbolTable/lib differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index d83d7186..1de6c841 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -1047,39 +1047,6 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - -// ------------------- -// --- Class Isvector. --- -// ------------------- -ClassName = 'Isvector'; - -// --- 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'); -//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'); -//---Function list class. ---- -ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('d0'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('d2'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('s2'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('s0'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('g2'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('g0'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('z2'+ArgSeparator+'g0',ClassFileName,'file','y'); -PrintStringInfo('z0'+ArgSeparator+'g0',ClassFileName,'file','y'); - -// --- Annotation Function And Function List Function. --- -FunctionName = 'isvector'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - // ------------------- // --- Class Iscolumn. --- // ------------------- @@ -1944,16 +1911,6 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'median'; // BJ : Done AS : Float_Done -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - -FunctionName = 'mad'; // BJ : Done AS : Float_Done -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - FunctionName = 'st_deviation'; // BJ : Not implemented PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); @@ -4974,6 +4931,35 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//------------------------------------ +//---- Class ERFCX ---------------- +//------------------------------------ +ClassName = 'erfcx'; + +// --- 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 = 'erfcx'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + //------------------------------------ //---- Class ERFINV ---------------- //------------------------------------ @@ -6279,30 +6265,6 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -//------------------------------------ -//---- Class RPI_0IN_i8 ------------ -//------------------------------------ -ClassName = 'RPI_0IN_i8'; - -// --- Class Annotation. --- -PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); -ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); -PrintStringInfo('NIN= 0',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''i8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); - -// --- Function List Class. --- -ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo(''+ArgSeparator+'i80',ClassFileName,'file','y'); - -// --- Annotation Function And Function List Function. --- -FunctionName = 'RPI_lcd128x64setup'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - //------------------------------------ //---- Class RPI_1IN_u8_Void ------- //------------------------------------ @@ -6355,14 +6317,6 @@ FunctionName = 'RPI_softToneStop'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64clear'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64Orientation'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_1IN_u16_Void ------ @@ -6637,7 +6591,6 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80'+ArgSeparator+'',ClassFileName,'file','y'); -PrintStringInfo('u80d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -6685,10 +6638,6 @@ FunctionName = 'RPI_serialPutchar'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64setOrigin'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_2IN_u8u16_Void ---- @@ -6902,9 +6851,9 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ -//---- Class RPI_2IN_u16u8_i8 ----- +//---- Class RPI_2IN_u16u8_u8 ----- //------------------------------------ -ClassName = 'RPI_2IN_u16u8_i8'; +ClassName = 'RPI_2IN_u16u8_u8'; // --- Class Annotation. --- PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); @@ -6917,8 +6866,8 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('u160u80'+ArgSeparator+'i80',ClassFileName,'file','y'); -PrintStringInfo('d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); +PrintStringInfo('u160u80'+ArgSeparator+'u80',ClassFileName,'file','y'); +PrintStringInfo('d0d0'+ArgSeparator+'u80',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'RPI_pcf8574Setup'; @@ -6951,16 +6900,11 @@ ClassName = 'RPI_3IN_u8u8u8_Void'; PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80u80'+ArgSeparator+'',ClassFileName,'file','y'); -PrintStringInfo('u80u80d0'+ArgSeparator+'',ClassFileName,'file','y'); -PrintStringInfo('u80d0d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -6972,18 +6916,6 @@ FunctionName = 'RPI_piGlow1'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_serialPutchar'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64point'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64lineTo'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); //------------------------------------ //---- Class RPI_3IN_u16u16u16_i8 -- @@ -6995,9 +6927,6 @@ PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''i8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); @@ -7024,9 +6953,6 @@ PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); PrintStringInfo('NIN= 3',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); @@ -7143,72 +7069,6 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file', INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -//--------------------------------------- -//---- Class RPI_5IN_u8u8u8u8u8_Void -- -//--------------------------------------- -ClassName = 'RPI_5IN_u8u8u8u8u8_Void'; - -// --- Class Annotation. --- -PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); -ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); -PrintStringInfo('NIN= 5',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); - -// --- Function List Class. --- -ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('u80u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y'); -PrintStringInfo('d0d0d0d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); - -// --- Annotation Function And Function List Function. --- -FunctionName = 'RPI_lcd128x64line'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64circle'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64putchar'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64puts'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - -//----------------------------------------- -//---- Class RPI_6IN_u8u8u8u8u8u8_Void -- -//----------------------------------------- -ClassName = 'RPI_6IN_u8u8u8u8u8u8_Void'; - -// --- Class Annotation. --- -PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); -ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); -PrintStringInfo('NIN= 6',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 0',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); - -// --- Function List Class. --- -ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('u80u80u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y'); -PrintStringInfo('d0d0d0d0d0d0'+ArgSeparator+'i80',ClassFileName,'file','y'); - -// --- Annotation Function And Function List Function. --- -FunctionName = 'RPI_lcd128x64rectangle'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -FunctionName = 'RPI_lcd128x64ellipse'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - //------------------------------------ //---- Class RPI_10IN_u8x10_Void --- //------------------------------------ @@ -7226,7 +7086,6 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); // --- Function List Class. --- ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y'); -PrintStringInfo('u80d0d0d0d0d0d0d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); PrintStringInfo('d0d0d0d0d0d0d0d0d0d0'+ArgSeparator+'',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- @@ -7243,7 +7102,7 @@ ClassName = 'RPI_13IN_u8x13_u8'; // --- Class Annotation. --- PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); -PrintStringInfo('NIN= 13',ClassFileName,'file','y'); +PrintStringInfo('NIN= 10',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y'); PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); @@ -7413,50 +7272,30 @@ PrintStringInfo('OUT(1).SZ(2)= IN(3).VAL',ClassFileName,'file','y'); ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('d2d0d0'+ArgSeparator+'d2',ClassFileName,'file','y'); PrintStringInfo('d2s0s0'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('d2u160u160'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('d2u80u80'+ArgSeparator+'d2',ClassFileName,'file','y'); PrintStringInfo('z2d0d0'+ArgSeparator+'z2',ClassFileName,'file','y'); PrintStringInfo('z2s0s0'+ArgSeparator+'z2',ClassFileName,'file','y'); + PrintStringInfo('s2d0d0'+ArgSeparator+'s2',ClassFileName,'file','y'); PrintStringInfo('s2s0s0'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('s2u160u160'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('s2u80u80'+ArgSeparator+'s2',ClassFileName,'file','y'); +PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y'); +PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y'); + PrintStringInfo('u162d0d0'+ArgSeparator+'u162',ClassFileName,'file','y'); PrintStringInfo('u162s0s0'+ArgSeparator+'u162',ClassFileName,'file','y'); - +PrintStringInfo('u82g2'+ArgSeparator+'u82',ClassFileName,'file','y'); +PrintStringInfo('i82g2'+ArgSeparator+'i82',ClassFileName,'file','y'); +PrintStringInfo('u162g2'+ArgSeparator+'u162',ClassFileName,'file','y'); +PrintStringInfo('i162g2'+ArgSeparator+'i162',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'matrix'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); -//------------------------------------ -//---- Class NNZ--------------------- -//------------------------------------ -ClassName = 'NNZ'; - -// --- Class Annotation. --- -PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); -ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); - -//Arguements specified: initial value, start time, time vector, ode function -PrintStringInfo('NIN= 1',ClassFileName,'file','y'); -PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).TP= ''u16''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y'); - -// --- Function List Class. --- -ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); -PrintStringInfo('d2'+ArgSeparator+'u160',ClassFileName,'file','y'); -PrintStringInfo('d0'+ArgSeparator+'u160',ClassFileName,'file','y'); -PrintStringInfo('z2'+ArgSeparator+'u160',ClassFileName,'file','y'); -PrintStringInfo('z0'+ArgSeparator+'u160',ClassFileName,'file','y'); -PrintStringInfo('s2'+ArgSeparator+'u160',ClassFileName,'file','y'); -PrintStringInfo('s0'+ArgSeparator+'u160',ClassFileName,'file','y'); - -// --- Annotation Function And Function List Function. --- -FunctionName = 'nnz'; -PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); -INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); - //------------------------------------ //---- Class TRIU --------------------- diff --git a/macros/ToolInitialization/lib b/macros/ToolInitialization/lib new file mode 100644 index 00000000..670a52e0 Binary files /dev/null and b/macros/ToolInitialization/lib differ diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index 1b4f272f..25c84b4e 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -231,6 +231,7 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/sinc.h" "src/c/specialFunctions/includes/erf.h" "src/c/specialFunctions/includes/erfc.h" + "src/c/specialFunctions/includes/erfcx.h" "src/c/specialFunctions/includes/erfinv.h" "src/c/CACSD/includes/syslin.h" "src/c/CACSD/includes/lqr.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 2ef82ef3..b9985a67 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -226,6 +226,7 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_sinc.h" "src/c/specialFunctions/interfaces/int_erf.h" "src/c/specialFunctions/interfaces/int_erfc.h" + "src/c/specialFunctions/interfaces/int_erfcx.h" "src/c/specialFunctions/interfaces/int_erfinv.h" "src/c/CACSD/interfaces/int_syslin.h" "src/c/CACSD/interfaces/int_lqr.h" diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index 14b76671..13012926 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -308,12 +308,6 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/matrixOperations/matrix/smatrixa.c" "src/c/matrixOperations/matrix/u16matrixa.c" "src/c/matrixOperations/matrix/zmatrixa.c" - "src/c/matrixOperations/nnz/dnnza.c" - "src/c/matrixOperations/nnz/dnnzs.c" - "src/c/matrixOperations/nnz/snnza.c" - "src/c/matrixOperations/nnz/snnzs.c" - "src/c/matrixOperations/nnz/znnza.c" - "src/c/matrixOperations/nnz/znnzs.c" "src/c/matrixOperations/triu/dtriua.c" "src/c/matrixOperations/triu/striua.c" "src/c/matrixOperations/triu/u8triua.c" @@ -804,6 +798,7 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/nthroot/snthroota.c" "src/c/elementaryFunctions/nthroot/snthroot1a.c" "src/c/elementaryFunctions/nthroot/snthroots.c" + "src/c/elementaryFunctions/isscalar/disscalara.c" "src/c/elementaryFunctions/isscalar/disscalars.c" "src/c/elementaryFunctions/isscalar/gisscalars.c" @@ -822,14 +817,6 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/elementaryFunctions/iscolumn/ziscolumns.c" "src/c/elementaryFunctions/iscolumn/u16iscolumna.c" "src/c/elementaryFunctions/iscolumn/u16iscolumns.c" - "src/c/elementaryFunctions/isvector/disvectora.c" - "src/c/elementaryFunctions/isvector/disvectors.c" - "src/c/elementaryFunctions/isvector/gisvectors.c" - "src/c/elementaryFunctions/isvector/gisvectora.c" - "src/c/elementaryFunctions/isvector/sisvectors.c" - "src/c/elementaryFunctions/isvector/sisvectora.c" - "src/c/elementaryFunctions/isvector/zisvectora.c" - "src/c/elementaryFunctions/isvector/zisvectors.c" "src/c/elementaryFunctions/ismatrix/dismatrixa.c" "src/c/elementaryFunctions/ismatrix/dismatrixs.c" //"src/c/elementaryFunctions/ismatrix/gismatrixs.c" @@ -928,27 +915,6 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/statisticsFunctions/meanf/zmeanfdz.c" "src/c/statisticsFunctions/meanf/cmeanfsc.c" "src/c/statisticsFunctions/meanf/zcolumnmeanfa.c" - "src/c/statisticsFunctions/median/dmediana.c" - "src/c/statisticsFunctions/median/dmedianrowa.c" - "src/c/statisticsFunctions/median/dmediancola.c" - "src/c/statisticsFunctions/median/smediana.c" - "src/c/statisticsFunctions/median/smedianrowa.c" - "src/c/statisticsFunctions/median/smediancola.c" - "src/c/statisticsFunctions/median/u16mediana.c" - "src/c/statisticsFunctions/median/u16medianrowa.c" - "src/c/statisticsFunctions/median/u16mediancola.c" - "src/c/statisticsFunctions/median/zmediana.c" - "src/c/statisticsFunctions/median/zmediancola.c" - "src/c/statisticsFunctions/median/zmedianrowa.c" -"src/c/statisticsFunctions/mad/dmada.c" -"src/c/statisticsFunctions/mad/dmadrowa.c" -"src/c/statisticsFunctions/mad/dmadcola.c" -"src/c/statisticsFunctions/mad/smada.c" -"src/c/statisticsFunctions/mad/smadrowa.c" -"src/c/statisticsFunctions/mad/smadcola.c" -"src/c/statisticsFunctions/mad/zmada.c" -"src/c/statisticsFunctions/mad/zmadrowa.c" -"src/c/statisticsFunctions/mad/zmadcola.c" "src/c/statisticsFunctions/prod/srowproda.c" "src/c/statisticsFunctions/prod/drowproda.c" "src/c/statisticsFunctions/prod/dproda.c" @@ -1370,6 +1336,10 @@ function allSources = getAllSources(SharedInfo,BuildTool) "src/c/specialFunctions/erfc/derfca.c" "src/c/specialFunctions/erfc/serfcs.c" "src/c/specialFunctions/erfc/serfca.c" + "src/c/specialFunctions/erfcx/derfcxs.c" + "src/c/specialFunctions/erfcx/derfcxa.c" + "src/c/specialFunctions/erfcx/serfcxs.c" + "src/c/specialFunctions/erfcx/serfcxa.c" "src/c/specialFunctions/erfinv/derfinvs.c" "src/c/specialFunctions/erfinv/derfinva.c" "src/c/specialFunctions/erfinv/serfinvs.c" diff --git a/macros/findDeps/lib b/macros/findDeps/lib new file mode 100644 index 00000000..afcd3cab Binary files /dev/null and b/macros/findDeps/lib differ diff --git a/macros/lib b/macros/lib new file mode 100644 index 00000000..551263ea Binary files /dev/null and b/macros/lib differ diff --git a/src/c/specialFunctions/erfcx/derfcxa.c b/src/c/specialFunctions/erfcx/derfcxa.c new file mode 100644 index 00000000..d2cd7505 --- /dev/null +++ b/src/c/specialFunctions/erfcx/derfcxa.c @@ -0,0 +1,26 @@ +/* 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 +#include +#include +#include "erfcx.h" +#include "erfc.h" + +void derfcxa(double* inp1, int sizer, int sizec, double* out) +{ + for (int i = 0; i < sizer*sizec; i++) + { + out[i] = derfcxs(inp1[i]); + } +} + diff --git a/src/c/specialFunctions/erfcx/derfcxs.c b/src/c/specialFunctions/erfcx/derfcxs.c new file mode 100644 index 00000000..ff12b2fb --- /dev/null +++ b/src/c/specialFunctions/erfcx/derfcxs.c @@ -0,0 +1,23 @@ +/* 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 +#include +#include +#include "erfcx.h" +#include "erfc.h" + +double derfcxs(double inp1) +{ + return exp(inp1*inp1)*derfcs(inp1); +} + diff --git a/src/c/specialFunctions/erfcx/serfcxa.c b/src/c/specialFunctions/erfcx/serfcxa.c new file mode 100644 index 00000000..a28c30c7 --- /dev/null +++ b/src/c/specialFunctions/erfcx/serfcxa.c @@ -0,0 +1,26 @@ +/* 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 +#include +#include +#include "erfcx.h" +#include "erfc.h" + +void serfcxa(float* inp1, int sizer, int sizec, float* out) +{ + for (int i = 0; i < sizer*sizec; i++) + { + out[i] = serfcxs(inp1[i]); + } +} + diff --git a/src/c/specialFunctions/erfcx/serfcxs.c b/src/c/specialFunctions/erfcx/serfcxs.c new file mode 100644 index 00000000..be31a5a8 --- /dev/null +++ b/src/c/specialFunctions/erfcx/serfcxs.c @@ -0,0 +1,23 @@ +/* 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 +#include +#include +#include "erfcx.h" +#include "erfc.h" + +float serfcxs(float inp1) +{ + return exp(inp1*inp1)*derfcs(inp1); +} + diff --git a/src/c/specialFunctions/erfinv/derfinvs.c b/src/c/specialFunctions/erfinv/derfinvs.c index 379d6af5..3f7fe761 100644 --- a/src/c/specialFunctions/erfinv/derfinvs.c +++ b/src/c/specialFunctions/erfinv/derfinvs.c @@ -19,31 +19,31 @@ double derfinvs (double inp1) { - double a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; - double b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; - double c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; - double d[] = {3.74146294065960872,1.81848952562894617}; + double a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; //Coefficients for the formula to calculate inverse error + double b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; //Coefficients for the formula to calculate inverse error + double c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; //Coefficients for the formula to calculate inverse error + double d[] = {3.74146294065960872,1.81848952562894617}; //Coefficients for the formula to calculate inverse error if ((inp1 > 1) || (inp1 < -1)) { - return 0.0/0.0; + return 0.0/0.0; // returns Nan } if ((inp1 >= -0.7) && (inp1 <= 0.7)) { double sq = inp1 * inp1; - return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); + return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); //Inverse error formula } else if ((inp1 > 0.7) && (inp1 < 1)) { double z = sqrt(-log((1-inp1)/2)); - return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); //Inverse error formula } else if ((inp1 > -1) && (inp1 < 0.7)) { double z = sqrt(-log((1+inp1)/2)); - return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); //Inverse error formula } } diff --git a/src/c/specialFunctions/erfinv/serfinva.c b/src/c/specialFunctions/erfinv/serfinva.c index 56e47c2a..3a14f3c8 100644 --- a/src/c/specialFunctions/erfinv/serfinva.c +++ b/src/c/specialFunctions/erfinv/serfinva.c @@ -19,7 +19,7 @@ void serfinva(float* inp1, int sizer, int sizec,float* out) { for (int i = 0; i < sizer*sizec; i++) { - out[i] = derfinvs(inp1[i]); + out[i] = serfinvs(inp1[i]); } } diff --git a/src/c/specialFunctions/erfinv/serfinvs.c b/src/c/specialFunctions/erfinv/serfinvs.c index 2d97ef7b..5436fe39 100644 --- a/src/c/specialFunctions/erfinv/serfinvs.c +++ b/src/c/specialFunctions/erfinv/serfinvs.c @@ -19,10 +19,10 @@ float serfinvs (float inp1) { - float a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; - float b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; - float c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; - float d[] = {3.74146294065960872,1.81848952562894617}; + float a[] = {0.88622692374517353,-1.6601283962374516,0.92661860147244357,-0.14110320437680104}; //Coefficients for the formula to calculate inverse error + float b[] = {-2.13505380615258078,1.46060340345661088,-0.33198239813321595,0.01197270616590528}; //Coefficients for the formula to calculate inverse error + float c[] = {-1.994216456587148,-1.87267416351196,3.60874665878559364,1.82365845766309853}; //Coefficients for the formula to calculate inverse error + float d[] = {3.74146294065960872,1.81848952562894617}; //Coefficients for the formula to calculate inverse error if ((inp1 > 1) || (inp1 < -1)) { @@ -32,19 +32,19 @@ float serfinvs (float inp1) if ((inp1 >= -0.7) && (inp1 <= 0.7)) { float sq = inp1 * inp1; - return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); + return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); //Inverse error formula } else if ((inp1 > 0.7) && (inp1 < 1)) { float z = sqrt(-log((1-inp1)/2)); - return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + return ((((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); //Inverse error formula } else if ((inp1 > -1) && (inp1 < 0.7)) { float z = sqrt(-log((1+inp1)/2)); - return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); + return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); //Inverse error formula } } diff --git a/src/c/specialFunctions/includes/erfc.h b/src/c/specialFunctions/includes/erfc.h index 77847ab5..509e34e5 100644 --- a/src/c/specialFunctions/includes/erfc.h +++ b/src/c/specialFunctions/includes/erfc.h @@ -1,13 +1,13 @@ -/* - * 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 - * + /* 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 __ERFC_H__ diff --git a/src/c/specialFunctions/includes/erfcx.h b/src/c/specialFunctions/includes/erfcx.h new file mode 100644 index 00000000..dd1e4420 --- /dev/null +++ b/src/c/specialFunctions/includes/erfcx.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 __ERFCX_H__ +#define __ERFCX_H__ +#include "types.h" +#include "floatComplex.h" +#include "doubleComplex.h" +#include "uint8.h" +#include "uint16.h" +#include "int16.h" +#include "erfc.h" + +#ifdef __cplusplus +extern "C" { +#endif + +double derfcxs(double inp1); +void derfcxa(double* inp1, int sizer, int sizec,double* out); +float serfcxs(float inp1); +void serfcxa(float* inp1, int sizer, int sizec, float* out); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /*__ERFCX_H__*/ diff --git a/src/c/specialFunctions/interfaces/int_erfcx.h b/src/c/specialFunctions/interfaces/int_erfcx.h new file mode 100644 index 00000000..89840d48 --- /dev/null +++ b/src/c/specialFunctions/interfaces/int_erfcx.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_ERFCX_H__ +#define __INT_ERFCX_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define d0erfcxd0(in1) derfcxs(in1) +#define s0erfcxs0(in1) serfcxs(in1) +#define d2erfcxd2(in1,size,out) derfcxa(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_ERFCX_H__*/ -- cgit