From e7dba33a909e158dffc6ddb3361df10d427db631 Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Tue, 7 Feb 2017 16:16:31 +0530 Subject: Support for 'lqr' and 'lqe' added --- macros/ASTManagement/AST_HandleEndGenFun.bin | Bin 97736 -> 97772 bytes macros/ASTManagement/AST_HandleEndGenFun.sci | 2 +- macros/ASTManagement/AST_HandleHeader.bin | Bin 39124 -> 39132 bytes macros/ASTManagement/AST_HandleHeader.sci | 2 +- macros/FunctionAnnotation/FA_GetOutArgInfo.bin | Bin 16804 -> 17656 bytes macros/FunctionAnnotation/FA_GetOutArgInfo.sci | 14 +++-- macros/FunctionAnnotation/FA_SCHUR_SZ.bin | Bin 1004 -> 872 bytes macros/FunctionAnnotation/FA_SZ_LQE.bin | Bin 0 -> 876 bytes macros/FunctionAnnotation/FA_SZ_LQE.sci | 8 +++ macros/FunctionAnnotation/FA_SZ_LQR.bin | Bin 0 -> 700 bytes macros/FunctionAnnotation/FA_SZ_LQR.sci | 6 +++ macros/FunctionAnnotation/FA_SZ_LQR_K.bin | Bin 0 -> 920 bytes macros/FunctionAnnotation/lib | Bin 2276 -> 2324 bytes macros/FunctionAnnotation/names | 2 + .../ToolInitialization/INIT_FillSCI2LibCDirs.bin | Bin 1331464 -> 1342296 bytes .../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 60 +++++++++++++++++++-- macros/findDeps/getAllHeaders.bin | Bin 33112 -> 33376 bytes macros/findDeps/getAllHeaders.sci | 2 + macros/findDeps/getAllInterfaces.bin | Bin 34484 -> 34796 bytes macros/findDeps/getAllInterfaces.sci | 2 + macros/findDeps/getAllSources.bin | Bin 196196 -> 196436 bytes macros/findDeps/getAllSources.sci | 2 + 22 files changed, 91 insertions(+), 9 deletions(-) create mode 100644 macros/FunctionAnnotation/FA_SZ_LQE.bin create mode 100644 macros/FunctionAnnotation/FA_SZ_LQE.sci create mode 100644 macros/FunctionAnnotation/FA_SZ_LQR.bin create mode 100644 macros/FunctionAnnotation/FA_SZ_LQR.sci create mode 100644 macros/FunctionAnnotation/FA_SZ_LQR_K.bin (limited to 'macros') diff --git a/macros/ASTManagement/AST_HandleEndGenFun.bin b/macros/ASTManagement/AST_HandleEndGenFun.bin index a9e28ef..5c2833e 100644 Binary files a/macros/ASTManagement/AST_HandleEndGenFun.bin and b/macros/ASTManagement/AST_HandleEndGenFun.bin differ diff --git a/macros/ASTManagement/AST_HandleEndGenFun.sci b/macros/ASTManagement/AST_HandleEndGenFun.sci index fa7b33a..5ff7181 100644 --- a/macros/ASTManagement/AST_HandleEndGenFun.sci +++ b/macros/ASTManagement/AST_HandleEndGenFun.sci @@ -316,7 +316,7 @@ NOutArg_mod = NOutArg OutArg(1).FindLike = InArg(1).FindLike; OutArg(1).Scope = 'Number_d'; else - OutArg = FA_GetOutArgInfo(InArg,NInArg,OutArg,NOutArg,SharedInfo,FunPrecSpecifier,FunTypeAnnot,FunSizeAnnot,ReportFileName); + OutArg = FA_GetOutArgInfo(InArg,NInArg,OutArg,NOutArg,SharedInfo,FunPrecSpecifier,FunTypeAnnot,FunSizeAnnot,ReportFileName,ASTFunName); end // #RNU_RES_B diff --git a/macros/ASTManagement/AST_HandleHeader.bin b/macros/ASTManagement/AST_HandleHeader.bin index 268846f..87ef763 100644 Binary files a/macros/ASTManagement/AST_HandleHeader.bin and b/macros/ASTManagement/AST_HandleHeader.bin differ diff --git a/macros/ASTManagement/AST_HandleHeader.sci b/macros/ASTManagement/AST_HandleHeader.sci index 75b2f97..0237bd5 100644 --- a/macros/ASTManagement/AST_HandleHeader.sci +++ b/macros/ASTManagement/AST_HandleHeader.sci @@ -165,7 +165,7 @@ SharedInfo.CurrentFunInfo.OutArg = ... SharedInfo.CurrentFunInfo.OutArg,NOutArg,... SharedInfo,... SharedInfo.CurrentFunInfo.FunPrecSpecifier,... - SharedInfo.CurrentFunInfo.FunTypeAnnot,SharedInfo.CurrentFunInfo.FunSizeAnnot,ReportFileName); + SharedInfo.CurrentFunInfo.FunTypeAnnot,SharedInfo.CurrentFunInfo.FunSizeAnnot,ReportFileName,''); //#RNU_RES_B // ------------------------------------------------------------------------- // --- Stores InArg structure into the temporary variables symbol table. --- diff --git a/macros/FunctionAnnotation/FA_GetOutArgInfo.bin b/macros/FunctionAnnotation/FA_GetOutArgInfo.bin index 2b75b7a..e8048b7 100644 Binary files a/macros/FunctionAnnotation/FA_GetOutArgInfo.bin and b/macros/FunctionAnnotation/FA_GetOutArgInfo.bin differ diff --git a/macros/FunctionAnnotation/FA_GetOutArgInfo.sci b/macros/FunctionAnnotation/FA_GetOutArgInfo.sci index d9696c8..a35281a 100644 --- a/macros/FunctionAnnotation/FA_GetOutArgInfo.sci +++ b/macros/FunctionAnnotation/FA_GetOutArgInfo.sci @@ -1,5 +1,6 @@ function UpdatedOutArg = ... - FA_GetOutArgInfo(InArg,NInArg,OutArg,NOutArg,SharedInfo,FunPrecSpecifier,FunTypeAnnot,FunSizeAnnot,ReportFileName) + FA_GetOutArgInfo(InArg,NInArg,OutArg,NOutArg,SharedInfo,FunPrecSpecifier, ... + FunTypeAnnot,FunSizeAnnot,ReportFileName,ASTFunName) // function UpdatedOutArg = ... // FA_GetOutArgInfo(InArg,NInArg,OutArg,NOutArg,SharedInfo,FunPrecSpecifier,FunTypeAnnot,FunSizeAnnot,ReportFileName) // ----------------------------------------------------------------- @@ -23,7 +24,7 @@ function UpdatedOutArg = ... // ------------------------------ // --- Check input arguments. --- // ------------------------------ -SCI2CNInArgCheck(argn(2),9,9); +SCI2CNInArgCheck(argn(2),10,10); // ----------------------- // --- Initialization. --- // ----------------------- @@ -121,8 +122,13 @@ for counterout = 1:NOutArg UpdatedOutArg(counterout).Size(iterOutputPosition) = string(tmpeval); end end - - UpdatedOutArg(counterout).Value = %nan; + if(ASTFunName == 'syslin') + no_of_st = eval(InArg(2).Size(1)) + no_of_ip = eval(InArg(3).Size(2)) + UpdatedOutArg(counterout).Value = no_of_st+no_of_ip*0.1; + else + UpdatedOutArg(counterout).Value = %nan; + end UpdatedOutArg(counterout).Dimension = GetSymbolDimension(UpdatedOutArg(counterout).Size); UpdatedOutArg(counterout).Scope = 'Temp';//NUT anche su questo si puo' ragionare verifica anche la handleoperation. end diff --git a/macros/FunctionAnnotation/FA_SCHUR_SZ.bin b/macros/FunctionAnnotation/FA_SCHUR_SZ.bin index 9d77eae..d16f029 100644 Binary files a/macros/FunctionAnnotation/FA_SCHUR_SZ.bin and b/macros/FunctionAnnotation/FA_SCHUR_SZ.bin differ diff --git a/macros/FunctionAnnotation/FA_SZ_LQE.bin b/macros/FunctionAnnotation/FA_SZ_LQE.bin new file mode 100644 index 0000000..2fb9772 Binary files /dev/null and b/macros/FunctionAnnotation/FA_SZ_LQE.bin differ diff --git a/macros/FunctionAnnotation/FA_SZ_LQE.sci b/macros/FunctionAnnotation/FA_SZ_LQE.sci new file mode 100644 index 0000000..e7aecf1 --- /dev/null +++ b/macros/FunctionAnnotation/FA_SZ_LQE.sci @@ -0,0 +1,8 @@ +function outsize = FA_SZ_LQE(inval,insz) + + inval = eval(inval) + insz = eval(insz) + outsize(1) = string(int(inval)); + outsize(2) = string(insz-int(inval)); + +endfunction diff --git a/macros/FunctionAnnotation/FA_SZ_LQR.bin b/macros/FunctionAnnotation/FA_SZ_LQR.bin new file mode 100644 index 0000000..2de9d56 Binary files /dev/null and b/macros/FunctionAnnotation/FA_SZ_LQR.bin differ diff --git a/macros/FunctionAnnotation/FA_SZ_LQR.sci b/macros/FunctionAnnotation/FA_SZ_LQR.sci new file mode 100644 index 0000000..2f199d0 --- /dev/null +++ b/macros/FunctionAnnotation/FA_SZ_LQR.sci @@ -0,0 +1,6 @@ +function outsize = FA_SZ_LQR(inval) + + inval = eval(inval) + outsize(1) = string(int(inval)); + outsize(2) = string(modulo(inval*10,10)); + endfunction diff --git a/macros/FunctionAnnotation/FA_SZ_LQR_K.bin b/macros/FunctionAnnotation/FA_SZ_LQR_K.bin new file mode 100644 index 0000000..a936e3b Binary files /dev/null and b/macros/FunctionAnnotation/FA_SZ_LQR_K.bin differ diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib index a1a11a9..4053992 100644 Binary files a/macros/FunctionAnnotation/lib and b/macros/FunctionAnnotation/lib differ diff --git a/macros/FunctionAnnotation/names b/macros/FunctionAnnotation/names index 64cb257..e072098 100644 --- a/macros/FunctionAnnotation/names +++ b/macros/FunctionAnnotation/names @@ -19,6 +19,8 @@ FA_SZ_COL_DIAG_IN_EX FA_SZ_DIFF FA_SZ_FROM_VAL FA_SZ_LINSPACE_ROW +FA_SZ_LQE +FA_SZ_LQR FA_SZ_OPAPEX FA_SZ_OPBACKSLASH FA_SZ_OPCC diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin index 3e07d5a..ae688b2 100644 Binary files a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin and b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin differ diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci index 93ca508..bcf2670 100644 --- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci +++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci @@ -5926,19 +5926,19 @@ PrintStringInfo('NIN= 4',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); PrintStringInfo('OUT(1).TP= ''ss''',ClassFileName,'file','y'); PrintStringInfo('OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''1'')',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''2'')',ClassFileName,'file','y'); PrintStringInfo('NIN= 5',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); PrintStringInfo('OUT(1).TP= ''ss''',ClassFileName,'file','y'); PrintStringInfo('OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''1'')',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''2'')',ClassFileName,'file','y'); PrintStringInfo('NIN= 6',ClassFileName,'file','y'); PrintStringInfo('NOUT= 1',ClassFileName,'file','y'); PrintStringInfo('OUT(1).TP= ''ss''',ClassFileName,'file','y'); PrintStringInfo('OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))',ClassFileName,'file','y'); -PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''1'')',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), ''2'')',ClassFileName,'file','y'); ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); PrintStringInfo('g2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y'); @@ -6114,6 +6114,60 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); +//------------------------------------ +//---- Class lqr --------------------- +//------------------------------------ +ClassName = 'LQR'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); + +PrintStringInfo('NIN= 1',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 2',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).SZ(1)= FA_SZ_2(FA_SZ_LQR(IN(1).VAL))',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).SZ(2)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))',ClassFileName,'file','y'); + +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('ss2'+ArgSeparator+'d2d2',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'lqr'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + +//------------------------------------ +//---- Class lqe --------------------- +//------------------------------------ +ClassName = 'LQE'; + +// --- Class Annotation. --- +PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y'); +ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls); + +PrintStringInfo('NIN= 1',ClassFileName,'file','y'); +PrintStringInfo('NOUT= 2',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))',ClassFileName,'file','y'); +PrintStringInfo('OUT(1).SZ(2)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).SZ(1)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))',ClassFileName,'file','y'); +PrintStringInfo('OUT(2).SZ(2)= FA_SZ_2(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))',ClassFileName,'file','y'); + +ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls); +PrintStringInfo('ss2'+ArgSeparator+'d2d2',ClassFileName,'file','y'); + +// --- Annotation Function And Function List Function. --- +FunctionName = 'lqe'; +PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y'); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun); +INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun); + // //////////////////////////////////////////// // /////PARTE INTRODOTTA DA ALBERTO MOREA // ///////////////////////////////////////////// diff --git a/macros/findDeps/getAllHeaders.bin b/macros/findDeps/getAllHeaders.bin index 394987b..f5bb98e 100644 Binary files a/macros/findDeps/getAllHeaders.bin and b/macros/findDeps/getAllHeaders.bin differ diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci index cbc2d54..b37f3e5 100644 --- a/macros/findDeps/getAllHeaders.sci +++ b/macros/findDeps/getAllHeaders.sci @@ -149,6 +149,8 @@ function allHeaders = getAllHeaders(SharedInfo) "src/c/Files/includes/files.h" "src/c/string/includes/convstr.h" "src/c/CACSD/includes/syslin.h" + "src/c/CACSD/includes/lqr.h" + "src/c/CACSD/includes/lqe.h" "src/c/linearAlgebra/includes/schur.h"]; //Header files required for "Arduino" output diff --git a/macros/findDeps/getAllInterfaces.bin b/macros/findDeps/getAllInterfaces.bin index 002cb38..da506e8 100644 Binary files a/macros/findDeps/getAllInterfaces.bin and b/macros/findDeps/getAllInterfaces.bin differ diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci index 54c32e5..32a0c6b 100644 --- a/macros/findDeps/getAllInterfaces.sci +++ b/macros/findDeps/getAllInterfaces.sci @@ -144,6 +144,8 @@ function allInterfaces = getAllInterfaces(SharedInfo) "src/c/Files/interfaces/int_files.h" "src/c/string/interfaces/int_convstr.h" "src/c/CACSD/interfaces/int_syslin.h" + "src/c/CACSD/interfaces/int_lqr.h" + "src/c/CACSD/interfaces/int_lqe.h" "src/c/linearAlgebra/interfaces/int_schur.h"]; //Interface files required for "Arduino" output diff --git a/macros/findDeps/getAllSources.bin b/macros/findDeps/getAllSources.bin index 28567f6..aa5d474 100644 Binary files a/macros/findDeps/getAllSources.bin and b/macros/findDeps/getAllSources.bin differ diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci index 58c23e9..3f789b4 100644 --- a/macros/findDeps/getAllSources.sci +++ b/macros/findDeps/getAllSources.sci @@ -979,6 +979,8 @@ function allSources = getAllSources(SharedInfo) "src/c/Files/mput/i16mputa.c" "src/c/string/convstr/gconvstrs.c" "src/c/CACSD/syslin/dsyslina.c" + "src/c/CACSD/lqr/dlqra.c" + "src/c/CACSD/lqe/dlqea.c" "src/c/linearAlgebra/schur/dschura.c" "src/c/linearAlgebra/schur/dgschura.c"]; -- cgit