From c7d123014c05daaa6c7ce32bc5e86e5f3e7e4692 Mon Sep 17 00:00:00 2001 From: Abhinav Dronamraju Date: Mon, 10 Jul 2017 21:01:37 +0530 Subject: Nthroot added --- .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 69 +++++++++++++++++++++- macros/findDeps/getAllHeaders.sci | 2 + macros/findDeps/getAllInterfaces.sci | 4 +- macros/findDeps/getAllSources.sci | 19 ++++++ macros/runsci2c.sci | 2 +- 5 files changed, 93 insertions(+), 3 deletions(-) (limited to 'macros') diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index b890c6fe..77d51f17 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -944,13 +944,77 @@ 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'); - +PrintStringInfo('u162'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('u160'+ArgSeparator+'g0',ClassFileName,'file','y'); // --- Annotation Function And Function List Function. --- FunctionName = 'isrow'; PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +// ------------------- +// --- Class Nthroot. --- +// ------------------- +ClassName = 'Nthroot'; + +// --- 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= ''d''',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'); +//---Function list class. ---- +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y'); +PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('s0s0'+ArgSeparator+'d0',ClassFileName,'file','y'); +PrintStringInfo('s2s2'+ArgSeparator+'d2',ClassFileName,'file','y'); +PrintStringInfo('s2s0'+ArgSeparator+'d2',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'nthroot'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +// ------------------- +// --- Class Issquare. --- +// ------------------- +ClassName = 'Issquare'; + +// --- 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 = 'issquare'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + + // ------------------- // --- Class Isscalar. --- // ------------------- @@ -1008,6 +1072,9 @@ 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'); +PrintStringInfo('u162'+ArgSeparator+'g0',ClassFileName,'file','y'); +PrintStringInfo('u160'+ArgSeparator+'g0',ClassFileName,'file','y'); + // --- Annotation Function And Function List Function. --- FunctionName = 'iscolumn'; diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index e1ba7f6f..6e9a3b6e 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -129,6 +129,8 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/elementaryFunctions/includes/asecd.h" "src/c/elementaryFunctions/includes/asech.h" "src/c/elementaryFunctions/includes/isrow.h" + "src/c/elementaryFunctions/includes/nthroot.h" + "src/c/elementaryFunctions/includes/issquare.h" "src/c/elementaryFunctions/includes/isscalar.h" "src/c/elementaryFunctions/includes/iscolumn.h" "src/c/elementaryFunctions/includes/ismatrix.h" diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 5f1ee025..91d117e7 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -99,7 +99,9 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/elementaryFunctions/interfaces/int_bitset.h" "src/c/elementaryFunctions/interfaces/int_bitget.h" "src/c/elementaryFunctions/interfaces/int_linspace.h" - "src/c/elementaryFunctions/interfaces/int_isrow.h" + "src/c/elementaryFunctions/interfaces/int_isrow.h" + "src/c/elementaryFunctions/interfaces/int_nthroot.h" + "src/c/elementaryFunctions/interfaces/int_issquare.h" "src/c/elementaryFunctions/interfaces/int_isscalar.h" "src/c/elementaryFunctions/interfaces/int_iscolumn.h" "src/c/elementaryFunctions/interfaces/int_ismatrix.h" diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index f08311b5..8fb58b23 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -776,6 +776,23 @@ function allSources = getAllSources(SharedInfo) "src/c/elementaryFunctions/isrow/sisrowa.c" "src/c/elementaryFunctions/isrow/zisrowa.c" "src/c/elementaryFunctions/isrow/zisrows.c" + "src/c/elementaryFunctions/isrow/u16isrowa.c" + "src/c/elementaryFunctions/isrow/u16isrows.c" + "src/c/elementaryFunctions/issquare/dissquarea.c" + "src/c/elementaryFunctions/issquare/dissquares.c" + "src/c/elementaryFunctions/issquare/gissquares.c" + "src/c/elementaryFunctions/issquare/gissquarea.c" + "src/c/elementaryFunctions/issquare/sissquares.c" + "src/c/elementaryFunctions/issquare/sissquarea.c" + "src/c/elementaryFunctions/issquare/zissquarea.c" + "src/c/elementaryFunctions/issquare/zissquares.c" + "src/c/elementaryFunctions/nthroot/dnthroota.c" + "src/c/elementaryFunctions/nthroot/dnthroot1a.c" + "src/c/elementaryFunctions/nthroot/dnthroots.c" + "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" @@ -792,6 +809,8 @@ function allSources = getAllSources(SharedInfo) "src/c/elementaryFunctions/iscolumn/siscolumna.c" "src/c/elementaryFunctions/iscolumn/ziscolumna.c" "src/c/elementaryFunctions/iscolumn/ziscolumns.c" + "src/c/elementaryFunctions/iscolumn/u16iscolumna.c" + "src/c/elementaryFunctions/iscolumn/u16iscolumns.c" "src/c/elementaryFunctions/ismatrix/dismatrixa.c" "src/c/elementaryFunctions/ismatrix/dismatrixs.c" //"src/c/elementaryFunctions/ismatrix/gismatrixs.c" diff --git a/macros/runsci2c.sci b/macros/runsci2c.sci index 14e5a527..957920aa 100644 --- a/macros/runsci2c.sci +++ b/macros/runsci2c.sci @@ -112,7 +112,7 @@ PrintStepInfo('Copying sources', FileInfo.GeneralReport,'both'); for i = 1:size(allSources, "*") // DEBUG only - //disp("Copying "+allSources(i)+" in "+SCI2COutputPath+"/src/c/"); + disp("Copying "+allSources(i)+" in "+SCI2COutputPath+"/src/c/"); //Copy ode related functions only if 'ode' function is used. if(~isempty(strstr(allSources(i),'dode'))) if(size(SharedInfo.Includelist) <> 0) -- cgit