From ea958d3c401761dcc24865d9639b2fab31038db8 Mon Sep 17 00:00:00 2001
From: Brijeshcr
Date: Thu, 6 Jul 2017 15:48:47 +0530
Subject: Revert "LinearAlgebra Function Added"
---
Doc/how_to_use_scilab2c.pdf | Bin 0 -> 321865 bytes
RUN_TESTS/run_tests.bat | 0
builder.sce | 4 +-
cleaner.sce | 38 +
etc/scilab2c.start | 8 +-
help/builder_help.sce | 4 +
help/cleaner_help.sce | 21 +
help/en_US/AVRADCSetup.xml | 83 +
help/en_US/AVRDigitalIn.xml | 79 +
help/en_US/AVRDigitalOut.xml | 82 +
help/en_US/AVRDigitalPortSetup.xml | 81 +
help/en_US/AVRDigitalSetup.xml | 83 +
help/en_US/AVRGetTimerValue.xml | 73 +
help/en_US/AVRPWM0SetDuty.xml | 66 +
help/en_US/AVRPWM0Setup.xml | 92 +
help/en_US/AVRPWM1SetDuty.xml | 66 +
help/en_US/AVRPWM1Setup.xml | 91 +
help/en_US/AVRPWM2SetDuty.xml | 65 +
help/en_US/AVRPWM2Setup.xml | 88 +
help/en_US/AVRReadADC.xml | 71 +
help/en_US/AVRSleep.xml | 56 +
help/en_US/AVRTimerSetup.xml | 37 +
help/en_US/AVRUARTReceive.xml | 59 +
help/en_US/AVRUARTSetup.xml | 90 +
help/en_US/AVRUARTTransmit.xml | 59 +
help/en_US/CV_AdaptiveThreshold.xml | 86 +
help/en_US/CV_Blur.xml | 92 +
help/en_US/CV_Canny.xml | 88 +
help/en_US/CV_CornerHarris.xml | 93 +
help/en_US/CV_CreateImage.xml | 76 +
help/en_US/CV_CvtColor.xml | 81 +
help/en_US/CV_Dilate.xml | 93 +
help/en_US/CV_DistanceTransform.xml | 78 +
help/en_US/CV_Erode.xml | 93 +
help/en_US/CV_GaussianBlur.xml | 95 +
help/en_US/CV_GetImgSize.xml | 75 +
help/en_US/CV_LoadImage.xml | 83 +
help/en_US/CV_MedianBlur.xml | 77 +
help/en_US/CV_SaveImage.xml | 77 +
help/en_US/CV_ShowImage.xml | 77 +
help/en_US/CV_Threshold.xml | 81 +
help/en_US/CV_WaitKey.xml | 76 +
help/en_US/build_help.sce | 3 +
help/en_US/master_help.xml | 91 +
help/en_US/scilab_en_US_help/AVRADCSetup.html | 88 +
help/en_US/scilab_en_US_help/AVRDigitalIn.html | 88 +
help/en_US/scilab_en_US_help/AVRDigitalOut.html | 91 +
.../scilab_en_US_help/AVRDigitalPortSetup.html | 89 +
help/en_US/scilab_en_US_help/AVRDigitalSetup.html | 91 +
help/en_US/scilab_en_US_help/AVRGetTimerValue.html | 83 +
help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html | 80 +
help/en_US/scilab_en_US_help/AVRPWM0Setup.html | 98 +
help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html | 83 +
help/en_US/scilab_en_US_help/AVRPWM1Setup.html | 100 +
help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html | 81 +
help/en_US/scilab_en_US_help/AVRPWM2Setup.html | 97 +
help/en_US/scilab_en_US_help/AVRReadADC.html | 84 +
help/en_US/scilab_en_US_help/AVRSleep.html | 75 +
help/en_US/scilab_en_US_help/AVRTimerSetup.html | 66 +
help/en_US/scilab_en_US_help/AVRUARTReceive.html | 77 +
help/en_US/scilab_en_US_help/AVRUARTSetup.html | 96 +
help/en_US/scilab_en_US_help/AVRUARTTransmit.html | 77 +
.../scilab_en_US_help/CV_AdaptiveThreshold.html | 94 +
help/en_US/scilab_en_US_help/CV_Blur.html | 96 +
help/en_US/scilab_en_US_help/CV_Canny.html | 95 +
help/en_US/scilab_en_US_help/CV_CornerHarris.html | 98 +
help/en_US/scilab_en_US_help/CV_CreateImage.html | 85 +
help/en_US/scilab_en_US_help/CV_CvtColor.html | 90 +
help/en_US/scilab_en_US_help/CV_Dilate.html | 99 +
.../scilab_en_US_help/CV_DistanceTransform.html | 87 +
help/en_US/scilab_en_US_help/CV_Erode.html | 99 +
help/en_US/scilab_en_US_help/CV_GaussianBlur.html | 98 +
help/en_US/scilab_en_US_help/CV_GetImgSize.html | 84 +
help/en_US/scilab_en_US_help/CV_LoadImage.html | 88 +
help/en_US/scilab_en_US_help/CV_MedianBlur.html | 86 +
help/en_US/scilab_en_US_help/CV_SaveImage.html | 86 +
help/en_US/scilab_en_US_help/CV_ShowImage.html | 86 +
help/en_US/scilab_en_US_help/CV_Threshold.html | 90 +
help/en_US/scilab_en_US_help/CV_WaitKey.html | 83 +
help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS | Bin 0 -> 2964 bytes
.../scilab_en_US_help/JavaHelpSearch/DOCS.TAB | 2 +
.../en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS | 3 +
.../scilab_en_US_help/JavaHelpSearch/POSITIONS | Bin 0 -> 13311 bytes
help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA | 2 +
help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP | Bin 0 -> 10240 bytes
help/en_US/scilab_en_US_help/ScilabCaution.png | Bin 0 -> 507 bytes
help/en_US/scilab_en_US_help/ScilabEdit.png | Bin 0 -> 413 bytes
help/en_US/scilab_en_US_help/ScilabExecute.png | Bin 0 -> 535 bytes
help/en_US/scilab_en_US_help/ScilabImportant.png | Bin 0 -> 617 bytes
help/en_US/scilab_en_US_help/ScilabNote.png | Bin 0 -> 663 bytes
help/en_US/scilab_en_US_help/ScilabTip.png | Bin 0 -> 663 bytes
help/en_US/scilab_en_US_help/ScilabWarning.png | Bin 0 -> 507 bytes
help/en_US/scilab_en_US_help/c_code.css | 54 +
help/en_US/scilab_en_US_help/index.html | 259 ++
help/en_US/scilab_en_US_help/jhelpidx.xml | 3 +
help/en_US/scilab_en_US_help/jhelpmap.jhm | 41 +
help/en_US/scilab_en_US_help/jhelpset.hs | 28 +
help/en_US/scilab_en_US_help/jhelptoc.xml | 43 +
help/en_US/scilab_en_US_help/scilab_code.css | 96 +
.../section_0da8c7f3adca54f0475553087384b7a7.html | 259 ++
.../section_473a2b9e79723ff76a7f243f85d2b6b8.html | 259 ++
.../section_4d177ceb9ae128b1850140a7901a140a.html | 259 ++
.../section_c4a64b600f61b91c1ebf30f1b892cb10.html | 259 ++
help/en_US/scilab_en_US_help/style.css | 350 ++
help/en_US/scilab_en_US_help/xml_code.css | 94 +
includes/lapack.h | 7 -
includes/sci2clib.h | 207 +-
jar/scilab_en_US_help.jar | Bin 0 -> 88922 bytes
libraries/blasplus.lib | Bin 0 -> 23128 bytes
libraries/lapack.lib | Bin 0 -> 119452 bytes
locales/en_US.po | 35 +
locales/en_US/LC_MESSAGES/scilab2c.mo | Bin 0 -> 130 bytes
locales/en_US/LC_MESSAGES/scilab2c.po | 35 +
macros/ASTManagement/%equal_string.sci | 2 +-
macros/ASTManagement/%funcall_string.sci | 9 +
macros/ASTManagement/%operatio_string.sci | 14 +-
macros/ASTManagement/%operation_string.sci | 2 +-
macros/ASTManagement/AST2Ccode.sci | 90 +-
macros/ASTManagement/AST_HandleCC.sci | 69 +
macros/ASTManagement/AST_HandleEndGenFun.sci | 47 +-
macros/ASTManagement/AST_HandleFunCC.sci | 176 +
macros/ASTManagement/AST_HandleFunRC.sci | 178 +
macros/ASTManagement/AST_HandleIfElse.sci | 6 +-
macros/ASTManagement/AST_HandleRC.sci | 88 +
macros/ASTManagement/AST_HandleWhileStatem.sci | 60 +-
macros/ASTManagement/AST_ParseEqualStruct.sci | 2 +-
macros/ASTManagement/AST_ParseFuncallStruct.sci | 4 +
macros/ASTManagement/AST_ParseIfExprStruct.sci | 51 +-
macros/ASTManagement/AST_ParseOperStruct.sci | 11 +
macros/ASTManagement/GenOutArgNames.sci | 110 +-
macros/ASTManagement/_funcall_string.sci | 9 +
macros/ASTManagement/_operatio_string.sci | 2 +-
macros/ASTManagement/_operation_string.sci | 2 +-
macros/ASTManagement/lib | Bin 1896 -> 1936 bytes
macros/ASTManagement/names | 4 +
macros/CCodeGeneration/C_GenDeclarations_Dup.sci | 187 +
macros/CCodeGeneration/C_GenerateMakefile.sci | 21 +-
macros/CCodeGeneration/C_GenerateMkfle_arduino.sci | 12 +
macros/CCodeGeneration/C_IfExpression.sci | 31 +-
macros/CCodeGeneration/C_WhileExpression.sci | 28 +-
macros/CCodeGeneration/GetClsFileName.sci | 4 +
macros/CCodeGeneration/JoinDeclarAndCcode.sci | 6 +-
macros/CCodeGeneration/lib | Bin 1040 -> 1032 bytes
macros/CCodeGeneration/names | 2 +
macros/ErrorMessages/lib | Bin 552 -> 496 bytes
macros/FunctionAnnotation/FA_FSFIRLIN_SZ.sci | 9 +
macros/FunctionAnnotation/FA_GetFunAnn.sci | 3 +-
macros/FunctionAnnotation/FA_INSZ_RPI.sci | 5 +
macros/FunctionAnnotation/FA_SZ_AMELL.sci | 9 +
macros/FunctionAnnotation/FA_SZ_FULLRF.sci | 33 -
macros/FunctionAnnotation/FA_SZ_MODSN.sci | 11 +
macros/FunctionAnnotation/FA_SZ_ROW_COLUMN_CAT.sci | 2 +-
macros/FunctionAnnotation/FA_SZ_U_SVA.sci | 4 +-
macros/FunctionAnnotation/FA_TP_ASCII.sci | 10 +
macros/FunctionAnnotation/FA_TP_MODSN.sci | 10 +
macros/FunctionAnnotation/lib | Bin 2324 -> 2388 bytes
macros/FunctionAnnotation/names | 7 +-
macros/FunctionList/lib | Bin 620 -> 564 bytes
macros/GeneralFunctions/SCI2CFindFile.sci | 1 -
macros/GeneralFunctions/lib | Bin 1164 -> 1108 bytes
macros/Hardware/AVR/AVRADCSetup.sci | 24 +-
macros/Hardware/AVR/AVRDigitalIn.sci | 12 +-
macros/Hardware/AVR/AVRDigitalOut.sci | 10 +-
macros/Hardware/AVR/AVRDigitalPortSetup.sci | 11 +-
macros/Hardware/AVR/AVRDigitalSetup.sci | 13 +-
macros/Hardware/AVR/AVRGetTimerValue.sci | 16 +-
macros/Hardware/AVR/AVRPWM0SetDuty.sci | 17 +-
macros/Hardware/AVR/AVRPWM0Setup.sci | 57 +-
macros/Hardware/AVR/AVRPWM1SetDuty.sci | 20 +-
macros/Hardware/AVR/AVRPWM1Setup.sci | 54 +-
macros/Hardware/AVR/AVRPWM2SetDuty.sci | 11 +-
macros/Hardware/AVR/AVRPWM2Setup.sci | 48 +-
macros/Hardware/AVR/AVRReadADC.sci | 15 +-
macros/Hardware/AVR/AVRSleep.sci | 19 +-
macros/Hardware/AVR/AVRTimerSetup.sci | 45 +-
macros/Hardware/AVR/AVRUARTReceive.sci | 9 +-
macros/Hardware/AVR/AVRUARTSetup.sci | 44 +-
macros/Hardware/AVR/AVRUARTTransmit.sci | 16 +-
macros/Hardware/AVR/lib | Bin 1004 -> 948 bytes
macros/Hardware/RasberryPi/lib | Bin 1008 -> 952 bytes
macros/ImageProcessing/core/CV_CreateImage.sci | 18 +-
macros/ImageProcessing/core/CV_GetImgSize.sci | 14 +-
macros/ImageProcessing/core/lib | Bin 556 -> 500 bytes
macros/ImageProcessing/highgui/CV_LoadImage.sci | 25 +-
macros/ImageProcessing/highgui/CV_SaveImage.sci | 20 +-
macros/ImageProcessing/highgui/CV_ShowImage.sci | 18 +-
macros/ImageProcessing/highgui/CV_WaitKey.sci | 20 +-
macros/ImageProcessing/highgui/lib | Bin 616 -> 560 bytes
.../imgproc/CV_AdaptiveThreshold.sci | 33 +-
macros/ImageProcessing/imgproc/CV_Blur.sci | 41 +-
macros/ImageProcessing/imgproc/CV_Canny.sci | 36 +-
macros/ImageProcessing/imgproc/CV_CornerHarris.sci | 49 +-
macros/ImageProcessing/imgproc/CV_CvtColor.sci | 25 +-
macros/ImageProcessing/imgproc/CV_Dilate.sci | 53 +-
.../imgproc/CV_DistanceTransform.sci | 24 +-
macros/ImageProcessing/imgproc/CV_Erode.sci | 52 +-
macros/ImageProcessing/imgproc/CV_GaussianBlur.sci | 52 +-
macros/ImageProcessing/imgproc/CV_MedianBlur.sci | 25 +-
macros/ImageProcessing/imgproc/CV_Threshold.sci | 25 +-
macros/ImageProcessing/imgproc/lib | Bin 784 -> 728 bytes
macros/Scilab-Arduino/GetArduinoFunctions.sci | 3 +-
macros/Scilab-Arduino/GetArduinoSetupFunctions.sci | 4 +-
macros/Scilab-Arduino/IsArduinoSetupFunction.sci | 2 +
macros/Scilab-Arduino/cmd_i2c_dev.sci | 3 +
macros/Scilab-Arduino/cmd_i2c_read.sci | 2 +
macros/Scilab-Arduino/cmd_i2c_read_register.sci | 3 +
macros/Scilab-Arduino/cmd_i2c_write.sci | 2 +
macros/Scilab-Arduino/cmd_i2c_write_register.sci | 2 +
macros/Scilab-Arduino/lib | Bin 628 -> 692 bytes
macros/Scilab-Arduino/names | 5 +
macros/SymbolTable/ST_AnalyzeScope.sci | 1 -
macros/SymbolTable/ST_GetInArgInfo.sci | 15 +-
macros/SymbolTable/ST_InsOutArg.sci | 2 -
macros/SymbolTable/ST_InsOutArg_Dup.sci | 195 +
macros/SymbolTable/lib | Bin 760 -> 728 bytes
macros/SymbolTable/names | 1 +
.../ToolInitialization/INIT_FillSCI2LibCDirs.sci | 4767 +++++++++++++-------
macros/ToolInitialization/INIT_GenSharedInfo.sci | 4 +-
macros/ToolInitialization/INIT_SCI2C.sci | 4 +-
macros/ToolInitialization/ManageNextConversion.sci | 2 +
macros/ToolInitialization/lib | Bin 836 -> 780 bytes
macros/buildmacros.sce | 6 +-
macros/cb_sci2c_gui.sci | 88 +-
macros/findDeps/getAllHeaders.sci | 108 +-
macros/findDeps/getAllInterfaces.sci | 79 +-
macros/findDeps/getAllLibraries.sci | 4 +-
macros/findDeps/getAllSources.sci | 235 +-
macros/findDeps/getArduinoFiles.sci | 1 -
macros/findDeps/lib | Bin 628 -> 572 bytes
macros/lib | Bin 568 -> 512 bytes
macros/runsci2c.sci | 9 +-
macros/sci2c_gui.sci | 38 +-
macros/scilab2c.sci | 43 +-
src/c/CACSD/includes/lqr.h | 2 +-
src/c/CACSD/interfaces/int_lqr.h | 9 +-
src/c/CACSD/lqe/dlqea.c | 2 +-
src/c/CACSD/lqr/dlqra.c | 42 +-
.../elementaryFunctions/Trigonometry/sinc/dsinca.c | 46 +
.../Trigonometry/sinc/int_sinc.h | 18 +
src/c/elementaryFunctions/Trigonometry/sinc/sinc.h | 27 +
.../elementaryFunctions/Trigonometry/sinc/zsinca.c | 35 +
.../discrete_mathematics/gcd/dgcda.c | 32 +
.../discrete_mathematics/gcd/u8gcda.c | 62 +
.../discrete_mathematics/gcd/u8gcds.c | 32 +
.../discrete_mathematics/lcm/u8lcma.c | 69 +
src/c/elementaryFunctions/includes/gcd.h | 26 +
src/c/elementaryFunctions/includes/int32.h | 62 +
src/c/elementaryFunctions/includes/isreal.h | 30 +
src/c/elementaryFunctions/includes/lcm.h | 27 +
src/c/elementaryFunctions/includes/linspace.h | 3 +
src/c/elementaryFunctions/includes/nextpow2.h | 28 +
src/c/elementaryFunctions/includes/sec.h | 2 +-
src/c/elementaryFunctions/includes/sinc.h | 29 +
src/c/elementaryFunctions/includes/uint32.h | 62 +
src/c/elementaryFunctions/int32/dint32a.c | 18 +
src/c/elementaryFunctions/int32/dint32s.c | 18 +
src/c/elementaryFunctions/int32/i16int32a.c | 17 +
src/c/elementaryFunctions/int32/i16int32s.c | 17 +
src/c/elementaryFunctions/int32/i8int32a.c | 17 +
src/c/elementaryFunctions/int32/i8int32s.c | 17 +
src/c/elementaryFunctions/int32/sint32a.c | 18 +
src/c/elementaryFunctions/int32/sint32s.c | 17 +
src/c/elementaryFunctions/int32/u16int32a.c | 18 +
src/c/elementaryFunctions/int32/u16int32s.c | 17 +
src/c/elementaryFunctions/int32/u32int32a.c | 18 +
src/c/elementaryFunctions/int32/u32int32s.c | 17 +
src/c/elementaryFunctions/int32/u8int32a.c | 18 +
src/c/elementaryFunctions/int32/u8int32s.c | 17 +
src/c/elementaryFunctions/interfaces/int_gcd.h | 25 +
src/c/elementaryFunctions/interfaces/int_int32.h | 46 +
src/c/elementaryFunctions/interfaces/int_isreal.h | 22 +
src/c/elementaryFunctions/interfaces/int_lcm.h | 27 +
.../elementaryFunctions/interfaces/int_linspace.h | 4 +
.../elementaryFunctions/interfaces/int_nextpow2.h | 26 +
src/c/elementaryFunctions/interfaces/int_sinc.h | 19 +
src/c/elementaryFunctions/interfaces/int_uint32.h | 44 +
src/c/elementaryFunctions/isreal/disreals.c | 17 +
src/c/elementaryFunctions/isreal/sisreals.c | 17 +
src/c/elementaryFunctions/linspace/slinspacea.c | 49 +
src/c/elementaryFunctions/linspace/slinspaces.c | 33 +
src/c/elementaryFunctions/nextpow2/dnextpow2a.c | 30 +
src/c/elementaryFunctions/uint32/duint32a.c | 18 +
src/c/elementaryFunctions/uint32/duint32s.c | 18 +
src/c/elementaryFunctions/uint32/i16uint32a.c | 18 +
src/c/elementaryFunctions/uint32/i16uint32s.c | 18 +
src/c/elementaryFunctions/uint32/i32uint32a.c | 18 +
src/c/elementaryFunctions/uint32/i32uint32s.c | 18 +
src/c/elementaryFunctions/uint32/i8uint32a.c | 18 +
src/c/elementaryFunctions/uint32/i8uint32s.c | 17 +
src/c/elementaryFunctions/uint32/suint32a.c | 19 +
src/c/elementaryFunctions/uint32/suint32s.c | 18 +
src/c/elementaryFunctions/uint32/u16uint32a.c | 18 +
src/c/elementaryFunctions/uint32/u16uint32s.c | 18 +
src/c/elementaryFunctions/uint32/u8uint32a.c | 18 +
src/c/elementaryFunctions/uint32/u8uint32s.c | 18 +
.../rasberrypi/Digital/RPI_digitalReadByte.c | 21 +
.../rasberrypi/Digital/u8RPI_digitalReads.c | 21 +
.../rasberrypi/Digital/u8RPI_digitalWriteBytes.c | 19 +
.../rasberrypi/Digital/u8RPI_digitalWrites.c | 22 +
.../hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c | 19 +
.../hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c | 19 +
src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c | 19 +
src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c | 19 +
.../rasberrypi/I2C/u16RPI_I2CWriteReg16s.c | 19 +
.../hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c | 19 +
src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c | 19 +
src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c | 25 -
.../rasberrypi/Interrupt/u8RPI_waitForInterrupts.c | 44 +
src/c/hardware/rasberrypi/Misc/RPI_boardRev.c | 19 +
.../hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c | 19 +
src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c | 17 +
.../hardware/rasberrypi/Serial/gRPI_serialOpena.c | 19 +
.../rasberrypi/Serial/u8RPI_serialCloses.c | 17 +
.../rasberrypi/Serial/u8RPI_serialDataAvails.c | 19 +
.../rasberrypi/Serial/u8RPI_serialFlushs.c | 17 +
.../rasberrypi/Serial/u8RPI_serialGetchars.c | 17 +
.../rasberrypi/Serial/u8RPI_serialPrintfs.c | 17 +
.../rasberrypi/Serial/u8RPI_serialPutchars.c | 17 +
.../hardware/rasberrypi/Serial/u8RPI_serialPutss.c | 17 +
.../hardware/rasberrypi/Setup/gRPI_pinNumberinga.c | 28 +
src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c | 19 +
.../hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c | 17 +
src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c | 31 +
.../hardware/rasberrypi/Setup/u8RPI_pullControls.c | 25 +
.../hardware/rasberrypi/Shift/u16RPI_sr595Setups.c | 20 +
src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c | 19 +
src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c | 17 +
src/c/hardware/rasberrypi/Timing/RPI_micros.c | 21 +
src/c/hardware/rasberrypi/Timing/RPI_millis.c | 21 +
.../rasberrypi/Timing/u32RPI_delayMicros.c | 19 +
src/c/hardware/rasberrypi/Timing/u32RPI_delays.c | 19 +
.../rasberrypi/gertBoard/RPI_gertboardSPISetup.c | 19 +
.../gertBoard/u16RPI_gertboardAnalogReads.c | 19 +
.../gertBoard/u16RPI_gertboardAnalogSetups.c | 19 +
.../gertBoard/u16RPI_gertboardAnalogWrites.c | 17 +
src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c | 24 -
src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c | 26 -
.../hardware/rasberrypi/gpio/u8RPIDigitalSetups.c | 39 -
.../rasberrypi/includes/RPIPeripheralDigital.h | 13 +-
.../rasberrypi/includes/RPIPeripheralGertboard.h | 32 +
.../rasberrypi/includes/RPIPeripheralI2C.h | 37 +
.../rasberrypi/includes/RPIPeripheralInterrupt.h | 27 +
.../rasberrypi/includes/RPIPeripheralLCD.h | 39 +
.../rasberrypi/includes/RPIPeripheralLCD128x64.h | 43 +
.../rasberrypi/includes/RPIPeripheralMcp.h | 36 +
.../rasberrypi/includes/RPIPeripheralMisc.h | 31 +
.../rasberrypi/includes/RPIPeripheralPWM.h | 16 +-
.../rasberrypi/includes/RPIPeripheralPcf.h | 30 +
.../rasberrypi/includes/RPIPeripheralPiGlow.h | 31 +
.../rasberrypi/includes/RPIPeripheralPinISR.h | 26 -
.../rasberrypi/includes/RPIPeripheralPinMap.h | 28 +
.../rasberrypi/includes/RPIPeripheralSerial.h | 36 +-
.../rasberrypi/includes/RPIPeripheralSetup.h | 35 +
.../rasberrypi/includes/RPIPeripheralShift.h | 31 +
.../rasberrypi/includes/RPIPeripheralSoft.h | 37 +
.../rasberrypi/includes/RPIPeripheralThreading.h | 28 -
.../rasberrypi/includes/RPIPeripheralTiming.h | 10 +-
.../interfaces/int_RPIPeripheralDigital.h | 13 +-
.../interfaces/int_RPIPeripheralGertboard.h | 32 +
.../rasberrypi/interfaces/int_RPIPeripheralI2C.h | 35 +
.../interfaces/int_RPIPeripheralInterrupt.h | 30 +
.../rasberrypi/interfaces/int_RPIPeripheralLCD.h | 40 +
.../interfaces/int_RPIPeripheralLCD128x64.h | 58 +
.../rasberrypi/interfaces/int_RPIPeripheralMcp.h | 33 +
.../rasberrypi/interfaces/int_RPIPeripheralMisc.h | 31 +
.../rasberrypi/interfaces/int_RPIPeripheralPWM.h | 19 +-
.../rasberrypi/interfaces/int_RPIPeripheralPcf.h | 30 +
.../interfaces/int_RPIPeripheralPiGlow.h | 32 +
.../interfaces/int_RPIPeripheralPinISR.h | 25 -
.../interfaces/int_RPIPeripheralPinMap.h | 30 +
.../interfaces/int_RPIPeripheralSerial.h | 39 +-
.../rasberrypi/interfaces/int_RPIPeripheralSetup.h | 47 +
.../rasberrypi/interfaces/int_RPIPeripheralShift.h | 31 +
.../rasberrypi/interfaces/int_RPIPeripheralSoft.h | 34 +
.../interfaces/int_RPIPeripheralThreading.h | 25 -
.../interfaces/int_RPIPeripheralTiming.h | 14 +-
src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c | 18 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c | 17 +
.../rasberrypi/lcd/u8RPI_lcdCursorBlinks.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c | 19 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c | 17 +
src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c | 17 +
.../rasberrypi/lcd/u8RPI_lcdSendCommands.c | 17 +
.../lcd128x64/RPI_lcd128x64Orientation.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64circle.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64clear.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64line.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64point.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64putchar.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64puts.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c | 17 +
.../rasberrypi/lcd128x64/RPI_lcd128x64setup.c | 19 +
.../rasberrypi/mcp/u16RPI_mcp23008Setups.c | 19 +
.../rasberrypi/mcp/u16RPI_mcp23016Setups.c | 19 +
.../rasberrypi/mcp/u16RPI_mcp23017Setups.c | 19 +
.../rasberrypi/mcp/u16RPI_mcp23s08Setups.c | 19 +
.../rasberrypi/mcp/u16RPI_mcp23s17Setups.c | 19 +
.../hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c | 19 +
.../hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c | 19 +
src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c | 17 +
.../hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c | 17 +
.../hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c | 17 +
.../rasberrypi/piGlow/u8RPI_piGlowSetups.c | 17 +
.../hardware/rasberrypi/pinMap/u8RPI_physToGpios.c | 19 +
.../hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c | 19 +
src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c | 25 +
src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c | 23 +
src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c | 22 +
.../rasberrypi/pwm/u8RPIHardPWMSetClocks.c | 27 -
.../hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c | 28 -
.../rasberrypi/pwm/u8RPIHardPWMSetRanges.c | 25 -
src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c | 26 -
.../hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c | 17 +
src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c | 19 +
.../rasberrypi/serial/dRPISerialSendDataa.c | 27 -
.../rasberrypi/serial/dRPISerialSendDatas.c | 35 -
.../rasberrypi/serial/gRPISerialSendDatas.c | 27 -
.../rasberrypi/serial/i16RPISerialDataAvails.c | 25 -
.../rasberrypi/serial/i16RPISerialGetChars.c | 27 -
.../rasberrypi/serial/i16RPISerialSendDataa.c | 27 -
.../rasberrypi/serial/i16RPISerialSendDatas.c | 24 -
.../rasberrypi/serial/i8RPISerialSendDataa.c | 26 -
.../rasberrypi/serial/i8RPISerialSendDatas.c | 22 -
.../rasberrypi/serial/sRPISerialSendDataa.c | 27 -
.../rasberrypi/serial/sRPISerialSendDatas.c | 34 -
.../rasberrypi/serial/u16RPISerialSendDataa.c | 28 -
.../rasberrypi/serial/u16RPISerialSendDatas.c | 23 -
.../rasberrypi/serial/u16RPISerialSetups.c | 25 -
.../hardware/rasberrypi/serial/u8RPISerialCloses.c | 21 -
.../hardware/rasberrypi/serial/u8RPISerialFlushs.c | 21 -
.../rasberrypi/serial/u8RPISerialSendChars.c | 21 -
.../rasberrypi/serial/u8RPISerialSendDataa.c | 27 -
.../rasberrypi/serial/u8RPISerialSendDatas.c | 22 -
.../rasberrypi/soft/u8RPI_softPwmCreates.c | 19 +
.../hardware/rasberrypi/soft/u8RPI_softPwmStops.c | 17 +
.../hardware/rasberrypi/soft/u8RPI_softPwmWrites.c | 17 +
.../rasberrypi/soft/u8RPI_softToneCreates.c | 19 +
.../hardware/rasberrypi/soft/u8RPI_softToneStops.c | 17 +
.../rasberrypi/soft/u8RPI_softToneWrites.c | 17 +
.../rasberrypi/threading/u16RPIThreadCreates.c | 24 -
.../hardware/rasberrypi/timing/u16RPIDelayMicros.c | 22 -
.../hardware/rasberrypi/timing/u16RPIDelayMillis.c | 25 -
src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c | 21 -
src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c | 21 -
src/c/interpolation/includes/interp1.h | 32 +
src/c/interpolation/interfaces/int_interp1.h | 32 +
src/c/interpolation/interp1/dinterp13a.c | 75 +
src/c/interpolation/interp1/sinterp13a.c | 75 +
src/c/linearAlgebra/fullrf/dfullrfa.c | 112 -
src/c/linearAlgebra/givens/dgivensa.c | 76 -
src/c/linearAlgebra/hess/dhessa.c | 8 +-
src/c/linearAlgebra/householder/dhouseholdera.c | 90 -
src/c/linearAlgebra/includes/fullrf.h | 26 -
src/c/linearAlgebra/includes/givens.h | 25 -
src/c/linearAlgebra/includes/householder.h | 26 -
src/c/linearAlgebra/includes/qr.h | 26 -
src/c/linearAlgebra/includes/rowcomp.h | 26 -
src/c/linearAlgebra/includes/sqroot.h | 26 -
src/c/linearAlgebra/interfaces/int_fullrf.h | 28 -
src/c/linearAlgebra/interfaces/int_givens.h | 32 -
src/c/linearAlgebra/interfaces/int_householder.h | 28 -
src/c/linearAlgebra/interfaces/int_qr.h | 34 -
src/c/linearAlgebra/interfaces/int_rowcomp.h | 29 -
src/c/linearAlgebra/interfaces/int_sqroot.h | 27 -
src/c/linearAlgebra/proj/dproja.c | 73 -
src/c/linearAlgebra/projspec/dprojspeca.c | 67 -
src/c/linearAlgebra/qr/dqra.c | 298 --
src/c/linearAlgebra/rowcomp/drowcompa.c | 79 -
src/c/linearAlgebra/sqroot/dsqroota.c | 130 -
src/c/linearAlgebra/sva/dsvaa.c | 21 +-
src/c/linearAlgebra/svd/.1.c.swp | Bin 12288 -> 0 bytes
src/c/linearAlgebra/svd/zsvda.c | 33 +-
src/c/matrixOperations/Slash/dslasha.c | 32 -
src/c/matrixOperations/cat/ccata.c | 2 +-
src/c/matrixOperations/cat/zcata.c | 2 +-
src/c/matrixOperations/includes/spec.h | 56 +
src/c/matrixOperations/interfaces/int_spec.h | 71 +
src/c/matrixOperations/norm/dnorma.c | 12 +-
src/c/matrixOperations/spec/Makefile.am | 70 +
src/c/matrixOperations/spec/Makefile.in | 755 ++++
src/c/matrixOperations/spec/cspeca.c | 34 +
src/c/matrixOperations/spec/dspeca.c | 71 +
src/c/matrixOperations/spec/sspeca.c | 34 +
src/c/matrixOperations/spec/testDoubleSpec.c | 116 +
src/c/matrixOperations/spec/testFloatSpec.c | 110 +
.../spec/test_DoubleSpec/testDoubleSpec.vcxproj | 178 +
.../test_DoubleSpec/testDoubleSpec.vcxproj.filters | 22 +
.../spec/test_FloatSpec/testFloatSpec.vcxproj | 178 +
.../test_FloatSpec/testFloatSpec.vcxproj.filters | 22 +
src/c/matrixOperations/spec/zspeca.c | 80 +
src/c/matrixOperations/spec2/Makefile.am | 70 +
src/c/matrixOperations/spec2/Makefile.in | 757 ++++
src/c/matrixOperations/spec2/cspec2a.c | 36 +
src/c/matrixOperations/spec2/dspec2a.c | 113 +
src/c/matrixOperations/spec2/sspec2a.c | 36 +
src/c/matrixOperations/spec2/testDoubleSpec2.c | 261 ++
src/c/matrixOperations/spec2/testFloatSpec2.c | 134 +
.../spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj | 178 +
.../testDoubleSpec2.vcxproj.filters | 22 +
.../spec2/test_FloatSpec2/testFloatSpec2.vcxproj | 178 +
.../test_FloatSpec2/testFloatSpec2.vcxproj.filters | 22 +
src/c/matrixOperations/spec2/zspec2a.c | 96 +
src/c/matrixOperations/transpose/ztransposea.c | 6 +-
.../cmd_analog_in_volt/u8cmd_analog_in_volts.c | 22 +
.../cmd_analog_out_volt/u8cmd_analog_out_volts.c | 22 +
.../cmd_dcmotor_release/u8cmd_dcmotor_releases.c | 29 +
.../cmd_dcmotor_run/u8cmd_dcmotor_runs.c | 1 +
.../cmd_dcmotor_setup/u8cmd_dcmotor_setups.c | 1 +
.../scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp | 10 +
.../cmd_i2c_read/u8cmd_i2c_reads.cpp | 18 +
.../u8cmd_i2c_read_registers.cpp | 26 +
.../cmd_i2c_write/u8cmd_i2c_writes.cpp | 13 +
.../u8cmd_i2c_write_registers.cpp | 16 +
src/c/scilab-arduino/includes/cmd_analog_in_volt.h | 28 +
.../scilab-arduino/includes/cmd_analog_out_volt.h | 27 +
.../scilab-arduino/includes/cmd_dcmotor_release.h | 30 +
src/c/scilab-arduino/includes/cmd_dcmotor_run.h | 2 +-
src/c/scilab-arduino/includes/cmd_dcmotor_setup.h | 2 +-
src/c/scilab-arduino/includes/cmd_i2c_dev.h | 16 +
src/c/scilab-arduino/includes/cmd_i2c_read.h | 16 +
.../includes/cmd_i2c_read_register.h | 16 +
src/c/scilab-arduino/includes/cmd_i2c_write.h | 16 +
.../includes/cmd_i2c_write_register.h | 16 +
.../interfaces/int_cmd_analog_in_volt.h | 30 +
.../interfaces/int_cmd_analog_out_volt.h | 30 +
src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h | 9 +-
src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h | 17 +
src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h | 19 +
.../interfaces/int_cmd_i2c_read_register.h | 18 +
.../scilab-arduino/interfaces/int_cmd_i2c_write.h | 20 +
.../interfaces/int_cmd_i2c_write_register.h | 19 +
src/c/scilab-arduino/sleep/u16sleeps.c | 2 +
src/c/signalProcessing/%k/dmodka.c | 97 +
src/c/signalProcessing/%k/int_modk.h | 18 +
src/c/signalProcessing/%k/modk.h | 29 +
src/c/signalProcessing/%sn/dmodsna.c | 24 +
src/c/signalProcessing/%sn/dmodsns.c | 93 +
src/c/signalProcessing/%sn/int_modsn.h | 18 +
src/c/signalProcessing/%sn/modsn.h | 27 +
src/c/signalProcessing/%sn/zmodsna.c | 165 +
src/c/signalProcessing/%sn/zmodsns.c | 161 +
src/c/signalProcessing/amell/amell.h | 27 +
src/c/signalProcessing/amell/damella.c | 23 +
src/c/signalProcessing/amell/damells.c | 57 +
src/c/signalProcessing/amell/int_amell.h | 18 +
src/c/signalProcessing/buttmag/buttmag.h | 28 +
src/c/signalProcessing/buttmag/dbuttmags.c | 33 +
src/c/signalProcessing/buttmag/int_buttmag.h | 18 +
src/c/signalProcessing/buttmag/u8buttmags.c | 33 +
src/c/signalProcessing/cheb1mag/cheb1mag.h | 27 +
src/c/signalProcessing/cheb1mag/dcheb1mags.c | 35 +
src/c/signalProcessing/cheb1mag/int_cheb1mag.h | 18 +
src/c/signalProcessing/cheb2mag/cheb2mag.h | 27 +
src/c/signalProcessing/cheb2mag/dcheb2mags.c | 49 +
src/c/signalProcessing/cheb2mag/int_cheb2mag.h | 18 +
src/c/signalProcessing/ell1mag/dell1maga.c | 40 +
src/c/signalProcessing/ell1mag/ell1mag.h | 28 +
src/c/signalProcessing/ell1mag/int_ell1mag.h | 18 +
src/c/signalProcessing/ell1mag/zell1maga.c | 40 +
src/c/signalProcessing/ffilt/ffilt.h | 27 +
src/c/signalProcessing/ffilt/gffilts.c | 90 +
src/c/signalProcessing/ffilt/int_ffilt.h | 18 +
src/c/signalProcessing/filt_sinc/dfilt_sincs.c | 49 +
src/c/signalProcessing/filt_sinc/filt_sinc.h | 28 +
src/c/signalProcessing/filt_sinc/int_filt_sinc.h | 18 +
src/c/signalProcessing/fsfirlin/dfsfirlina.c | 144 +
src/c/signalProcessing/fsfirlin/fsfirlin.h | 26 +
src/c/signalProcessing/fsfirlin/int_fsfirlin.h | 18 +
src/c/signalProcessing/includes/amell.h | 28 +
src/c/signalProcessing/includes/buttmag.h | 29 +
src/c/signalProcessing/includes/cheb1mag.h | 27 +
src/c/signalProcessing/includes/cheb2mag.h | 27 +
src/c/signalProcessing/includes/dct.h | 38 +
src/c/signalProcessing/includes/ell1mag.h | 29 +
src/c/signalProcessing/includes/ffilt.h | 27 +
src/c/signalProcessing/includes/filt_sinc.h | 28 +
src/c/signalProcessing/includes/fsfirlin.h | 28 +
src/c/signalProcessing/includes/idct.h | 38 +
src/c/signalProcessing/includes/modk.h | 28 +
src/c/signalProcessing/includes/modsn.h | 31 +
src/c/signalProcessing/includes/sincd.h | 29 +
src/c/signalProcessing/includes/zpbutt.h | 29 +
src/c/signalProcessing/includes/zpch1.h | 28 +
src/c/signalProcessing/includes/zpch2.h | 28 +
src/c/signalProcessing/interfaces/int_amell.h | 19 +
src/c/signalProcessing/interfaces/int_buttmag.h | 19 +
src/c/signalProcessing/interfaces/int_cheb1mag.h | 18 +
src/c/signalProcessing/interfaces/int_cheb2mag.h | 18 +
src/c/signalProcessing/interfaces/int_dct.h | 36 +
src/c/signalProcessing/interfaces/int_ell1mag.h | 19 +
src/c/signalProcessing/interfaces/int_ffilt.h | 18 +
src/c/signalProcessing/interfaces/int_filt_sinc.h | 18 +
src/c/signalProcessing/interfaces/int_fsfirlin.h | 18 +
src/c/signalProcessing/interfaces/int_idct.h | 28 +
src/c/signalProcessing/interfaces/int_modk.h | 18 +
src/c/signalProcessing/interfaces/int_modsn.h | 21 +
src/c/signalProcessing/interfaces/int_sincd.h | 19 +
src/c/signalProcessing/interfaces/int_zpbutt.h | 19 +
src/c/signalProcessing/interfaces/int_zpch1.h | 18 +
src/c/signalProcessing/interfaces/int_zpch2.h | 18 +
src/c/signalProcessing/modk/dmodka.c | 97 +
src/c/signalProcessing/sincd/dsincds.c | 99 +
src/c/signalProcessing/sincd/int_sincd.h | 18 +
src/c/signalProcessing/sincd/sincd.h | 28 +
src/c/signalProcessing/sincd/u8sincds.c | 98 +
src/c/signalProcessing/transforms/dct/cdcta.c | 230 +
src/c/signalProcessing/transforms/dct/ddcta.c | 160 +
src/c/signalProcessing/transforms/dct/sdcta.c | 160 +
src/c/signalProcessing/transforms/dct/zdcta.c | 230 +
src/c/signalProcessing/transforms/idct/cidcta.c | 118 +
src/c/signalProcessing/transforms/idct/didcta.c | 83 +
src/c/signalProcessing/transforms/idct/sidcta.c | 83 +
src/c/signalProcessing/transforms/idct/zidcta.c | 118 +
src/c/signalProcessing/zpbutt/dzpbutts.c | 33 +
src/c/signalProcessing/zpbutt/int_zpbutt.h | 19 +
src/c/signalProcessing/zpbutt/zpbutt.h | 27 +
src/c/signalProcessing/zpch1/dzpch1s.c | 53 +
src/c/signalProcessing/zpch1/int_zpch1.h | 18 +
src/c/signalProcessing/zpch1/zpch1.h | 28 +
src/c/signalProcessing/zpch2/dzpch2s.c | 63 +
src/c/signalProcessing/zpch2/int_zpch2.h | 18 +
src/c/signalProcessing/zpch2/zpch2.h | 28 +
src/c/string/ascii/dasciia.c | 21 +
src/c/string/ascii/gasciia.c | 26 +
src/c/string/disp/ddisph.c | 2 +-
src/c/string/disp/ddisps.c | 2 +-
src/c/string/disp/zdispa.c | 2 +-
src/c/string/disp/zdisps.c | 2 +-
src/c/string/includes/ascii.h | 27 +
src/c/string/includes/strchr.h | 25 +
src/c/string/includes/strcspn.h | 26 +
src/c/string/includes/strncpy.h | 25 +
src/c/string/includes/strspn.h | 26 +
src/c/string/interfaces/int_ascii.h | 26 +
src/c/string/interfaces/int_strchr.h | 25 +
src/c/string/interfaces/int_strcspn.h | 25 +
src/c/string/interfaces/int_strncpy.h | 26 +
src/c/string/interfaces/int_strspn.h | 25 +
src/c/string/strchr/gstrchra.c | 33 +
src/c/string/strcspn/gstrcspna.c | 32 +
src/c/string/strncpy/gstrncpya.c | 25 +
src/c/string/strspn/gstrspna.c | 44 +
thirdparty/includes/GSL/gsl/gsl_blas.h | 602 +++
thirdparty/includes/GSL/gsl/gsl_blas_types.h | 54 +
thirdparty/includes/GSL/gsl/gsl_block.h | 24 +
thirdparty/includes/GSL/gsl/gsl_block_char.h | 65 +
.../includes/GSL/gsl/gsl_block_complex_double.h | 65 +
.../includes/GSL/gsl/gsl_block_complex_float.h | 65 +
.../GSL/gsl/gsl_block_complex_long_double.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_double.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_float.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_int.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_long.h | 65 +
.../includes/GSL/gsl/gsl_block_long_double.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_short.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_uchar.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_uint.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_ulong.h | 65 +
thirdparty/includes/GSL/gsl/gsl_block_ushort.h | 65 +
thirdparty/includes/GSL/gsl/gsl_bspline.h | 122 +
thirdparty/includes/GSL/gsl/gsl_cblas.h | 606 +++
thirdparty/includes/GSL/gsl/gsl_cdf.h | 170 +
thirdparty/includes/GSL/gsl/gsl_chebyshev.h | 133 +
thirdparty/includes/GSL/gsl/gsl_check_range.h | 57 +
thirdparty/includes/GSL/gsl/gsl_combination.h | 92 +
thirdparty/includes/GSL/gsl/gsl_complex.h | 103 +
thirdparty/includes/GSL/gsl/gsl_complex_math.h | 142 +
thirdparty/includes/GSL/gsl/gsl_const.h | 31 +
thirdparty/includes/GSL/gsl/gsl_const_cgs.h | 116 +
thirdparty/includes/GSL/gsl/gsl_const_cgsm.h | 122 +
thirdparty/includes/GSL/gsl/gsl_const_mks.h | 126 +
thirdparty/includes/GSL/gsl/gsl_const_mksa.h | 126 +
thirdparty/includes/GSL/gsl/gsl_const_num.h | 43 +
thirdparty/includes/GSL/gsl/gsl_deriv.h | 50 +
thirdparty/includes/GSL/gsl/gsl_dft_complex.h | 55 +
.../includes/GSL/gsl/gsl_dft_complex_float.h | 55 +
thirdparty/includes/GSL/gsl/gsl_dht.h | 87 +
thirdparty/includes/GSL/gsl/gsl_diff.h | 52 +
thirdparty/includes/GSL/gsl/gsl_eigen.h | 347 ++
thirdparty/includes/GSL/gsl/gsl_errno.h | 154 +
thirdparty/includes/GSL/gsl/gsl_fft.h | 51 +
thirdparty/includes/GSL/gsl/gsl_fft_complex.h | 136 +
.../includes/GSL/gsl/gsl_fft_complex_float.h | 139 +
thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h | 86 +
.../includes/GSL/gsl/gsl_fft_halfcomplex_float.h | 86 +
thirdparty/includes/GSL/gsl/gsl_fft_real.h | 80 +
thirdparty/includes/GSL/gsl/gsl_fft_real_float.h | 79 +
thirdparty/includes/GSL/gsl/gsl_fit.h | 85 +
thirdparty/includes/GSL/gsl/gsl_heapsort.h | 44 +
thirdparty/includes/GSL/gsl/gsl_histogram.h | 134 +
thirdparty/includes/GSL/gsl/gsl_histogram2d.h | 172 +
thirdparty/includes/GSL/gsl/gsl_ieee_utils.h | 99 +
thirdparty/includes/GSL/gsl/gsl_inline.h | 67 +
thirdparty/includes/GSL/gsl/gsl_integration.h | 323 ++
thirdparty/includes/GSL/gsl/gsl_interp.h | 225 +
thirdparty/includes/GSL/gsl/gsl_interp2d.h | 160 +
thirdparty/includes/GSL/gsl/gsl_linalg.h | 650 +++
thirdparty/includes/GSL/gsl/gsl_machine.h | 104 +
thirdparty/includes/GSL/gsl/gsl_math.h | 164 +
thirdparty/includes/GSL/gsl/gsl_matrix.h | 25 +
thirdparty/includes/GSL/gsl/gsl_matrix_char.h | 350 ++
.../includes/GSL/gsl/gsl_matrix_complex_double.h | 351 ++
.../includes/GSL/gsl/gsl_matrix_complex_float.h | 351 ++
.../GSL/gsl/gsl_matrix_complex_long_double.h | 351 ++
thirdparty/includes/GSL/gsl/gsl_matrix_double.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_float.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_int.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_long.h | 350 ++
.../includes/GSL/gsl/gsl_matrix_long_double.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_short.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_uint.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h | 350 ++
thirdparty/includes/GSL/gsl/gsl_message.h | 80 +
thirdparty/includes/GSL/gsl/gsl_min.h | 111 +
thirdparty/includes/GSL/gsl/gsl_minmax.h | 102 +
thirdparty/includes/GSL/gsl/gsl_mode.h | 88 +
thirdparty/includes/GSL/gsl/gsl_monte.h | 55 +
thirdparty/includes/GSL/gsl/gsl_monte_miser.h | 97 +
thirdparty/includes/GSL/gsl/gsl_monte_plain.h | 65 +
thirdparty/includes/GSL/gsl/gsl_monte_vegas.h | 125 +
thirdparty/includes/GSL/gsl/gsl_multifit.h | 319 ++
thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h | 275 ++
thirdparty/includes/GSL/gsl/gsl_multilarge.h | 141 +
thirdparty/includes/GSL/gsl/gsl_multimin.h | 226 +
thirdparty/includes/GSL/gsl/gsl_multiroots.h | 177 +
thirdparty/includes/GSL/gsl/gsl_multiset.h | 93 +
thirdparty/includes/GSL/gsl/gsl_nan.h | 45 +
thirdparty/includes/GSL/gsl/gsl_ntuple.h | 82 +
thirdparty/includes/GSL/gsl/gsl_odeiv.h | 230 +
thirdparty/includes/GSL/gsl/gsl_odeiv2.h | 333 ++
thirdparty/includes/GSL/gsl/gsl_permutation.h | 100 +
thirdparty/includes/GSL/gsl/gsl_permute.h | 24 +
thirdparty/includes/GSL/gsl/gsl_permute_char.h | 44 +
.../includes/GSL/gsl/gsl_permute_complex_double.h | 45 +
.../includes/GSL/gsl/gsl_permute_complex_float.h | 45 +
.../GSL/gsl/gsl_permute_complex_long_double.h | 45 +
thirdparty/includes/GSL/gsl/gsl_permute_double.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_float.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_int.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_long.h | 44 +
.../includes/GSL/gsl/gsl_permute_long_double.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_short.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_uchar.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_uint.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_ulong.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_ushort.h | 44 +
thirdparty/includes/GSL/gsl/gsl_permute_vector.h | 24 +
.../includes/GSL/gsl/gsl_permute_vector_char.h | 45 +
.../GSL/gsl/gsl_permute_vector_complex_double.h | 45 +
.../GSL/gsl/gsl_permute_vector_complex_float.h | 45 +
.../gsl/gsl_permute_vector_complex_long_double.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_double.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_float.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_int.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_long.h | 45 +
.../GSL/gsl/gsl_permute_vector_long_double.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_short.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_uchar.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_uint.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_ulong.h | 45 +
.../includes/GSL/gsl/gsl_permute_vector_ushort.h | 45 +
thirdparty/includes/GSL/gsl/gsl_poly.h | 183 +
thirdparty/includes/GSL/gsl/gsl_pow_int.h | 61 +
thirdparty/includes/GSL/gsl/gsl_precision.h | 66 +
thirdparty/includes/GSL/gsl/gsl_qrng.h | 111 +
thirdparty/includes/GSL/gsl/gsl_randist.h | 185 +
thirdparty/includes/GSL/gsl/gsl_rng.h | 217 +
thirdparty/includes/GSL/gsl/gsl_roots.h | 127 +
thirdparty/includes/GSL/gsl/gsl_rstat.h | 79 +
thirdparty/includes/GSL/gsl/gsl_sf.h | 39 +
thirdparty/includes/GSL/gsl/gsl_sf_airy.h | 139 +
thirdparty/includes/GSL/gsl/gsl_sf_bessel.h | 549 +++
thirdparty/includes/GSL/gsl/gsl_sf_clausen.h | 52 +
thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h | 128 +
thirdparty/includes/GSL/gsl/gsl_sf_coupling.h | 125 +
thirdparty/includes/GSL/gsl/gsl_sf_dawson.h | 52 +
thirdparty/includes/GSL/gsl/gsl_sf_debye.h | 91 +
thirdparty/includes/GSL/gsl/gsl_sf_dilog.h | 130 +
thirdparty/includes/GSL/gsl/gsl_sf_elementary.h | 57 +
thirdparty/includes/GSL/gsl/gsl_sf_ellint.h | 112 +
thirdparty/includes/GSL/gsl/gsl_sf_elljac.h | 48 +
thirdparty/includes/GSL/gsl/gsl_sf_erf.h | 91 +
thirdparty/includes/GSL/gsl/gsl_sf_exp.h | 134 +
thirdparty/includes/GSL/gsl/gsl_sf_expint.h | 167 +
thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h | 126 +
thirdparty/includes/GSL/gsl/gsl_sf_gamma.h | 293 ++
thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h | 73 +
thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h | 154 +
thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h | 68 +
thirdparty/includes/GSL/gsl/gsl_sf_lambert.h | 69 +
thirdparty/includes/GSL/gsl/gsl_sf_legendre.h | 375 ++
thirdparty/includes/GSL/gsl/gsl_sf_log.h | 82 +
thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h | 113 +
thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h | 49 +
thirdparty/includes/GSL/gsl/gsl_sf_psi.h | 113 +
thirdparty/includes/GSL/gsl/gsl_sf_result.h | 59 +
thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h | 60 +
thirdparty/includes/GSL/gsl/gsl_sf_transport.h | 78 +
thirdparty/includes/GSL/gsl/gsl_sf_trig.h | 152 +
thirdparty/includes/GSL/gsl/gsl_sf_zeta.h | 112 +
thirdparty/includes/GSL/gsl/gsl_siman.h | 82 +
thirdparty/includes/GSL/gsl/gsl_sort.h | 20 +
thirdparty/includes/GSL/gsl/gsl_sort_char.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_double.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_float.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_int.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_long.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_long_double.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_short.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_uchar.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_uint.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_ulong.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_ushort.h | 51 +
thirdparty/includes/GSL/gsl/gsl_sort_vector.h | 20 +
thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_double.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_float.h | 52 +
thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h | 52 +
thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_long_double.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_short.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_uchar.h | 52 +
thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_ulong.h | 52 +
.../includes/GSL/gsl/gsl_sort_vector_ushort.h | 52 +
thirdparty/includes/GSL/gsl/gsl_spblas.h | 58 +
thirdparty/includes/GSL/gsl/gsl_specfunc.h | 10 +
thirdparty/includes/GSL/gsl/gsl_splinalg.h | 79 +
thirdparty/includes/GSL/gsl/gsl_spline.h | 101 +
thirdparty/includes/GSL/gsl/gsl_spline2d.h | 113 +
thirdparty/includes/GSL/gsl/gsl_spmatrix.h | 150 +
thirdparty/includes/GSL/gsl/gsl_statistics.h | 20 +
thirdparty/includes/GSL/gsl/gsl_statistics_char.h | 80 +
.../includes/GSL/gsl/gsl_statistics_double.h | 100 +
thirdparty/includes/GSL/gsl/gsl_statistics_float.h | 100 +
thirdparty/includes/GSL/gsl/gsl_statistics_int.h | 80 +
thirdparty/includes/GSL/gsl/gsl_statistics_long.h | 80 +
.../includes/GSL/gsl/gsl_statistics_long_double.h | 100 +
thirdparty/includes/GSL/gsl/gsl_statistics_short.h | 80 +
thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h | 80 +
thirdparty/includes/GSL/gsl/gsl_statistics_uint.h | 80 +
thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h | 80 +
.../includes/GSL/gsl/gsl_statistics_ushort.h | 80 +
thirdparty/includes/GSL/gsl/gsl_sum.h | 162 +
thirdparty/includes/GSL/gsl/gsl_sys.h | 63 +
thirdparty/includes/GSL/gsl/gsl_test.h | 66 +
thirdparty/includes/GSL/gsl/gsl_types.h | 41 +
thirdparty/includes/GSL/gsl/gsl_vector.h | 25 +
thirdparty/includes/GSL/gsl/gsl_vector_char.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_complex.h | 17 +
.../includes/GSL/gsl/gsl_vector_complex_double.h | 251 ++
.../includes/GSL/gsl/gsl_vector_complex_float.h | 251 ++
.../GSL/gsl/gsl_vector_complex_long_double.h | 251 ++
thirdparty/includes/GSL/gsl/gsl_vector_double.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_float.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_int.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_long.h | 230 +
.../includes/GSL/gsl/gsl_vector_long_double.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_short.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_uchar.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_uint.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_ulong.h | 230 +
thirdparty/includes/GSL/gsl/gsl_vector_ushort.h | 230 +
thirdparty/includes/GSL/gsl/gsl_version.h | 26 +
thirdparty/includes/GSL/gsl/gsl_wavelet.h | 100 +
thirdparty/includes/GSL/gsl/gsl_wavelet2d.h | 107 +
thirdparty/includes/WiringPi/RPI_wfi.h | 27 +
thirdparty/includes/WiringPi/gertboard.h | 45 +
thirdparty/includes/WiringPi/lcd.h | 52 +
thirdparty/includes/WiringPi/lcd128x64.h | 39 +
thirdparty/includes/WiringPi/mcp23008.h | 33 +
thirdparty/includes/WiringPi/mcp23016.h | 33 +
thirdparty/includes/WiringPi/mcp23017.h | 33 +
thirdparty/includes/WiringPi/mcp23s08.h | 33 +
thirdparty/includes/WiringPi/mcp23s17.h | 33 +
thirdparty/includes/WiringPi/pcf8574.h | 33 +
thirdparty/includes/WiringPi/pcf8591.h | 33 +
thirdparty/includes/WiringPi/piGlow.h | 45 +
thirdparty/includes/WiringPi/sn3218.h | 33 +
thirdparty/includes/WiringPi/softPwm.h | 35 +
thirdparty/includes/WiringPi/softTone.h | 39 +
thirdparty/includes/WiringPi/sr595.h | 34 +
thirdparty/includes/WiringPi/wiringPiI2C.h | 42 +
thirdparty/includes/WiringPi/wiringShift.h | 41 +
thirdparty/lib/raspberrypi/libRPIwfi.a | Bin 0 -> 2132 bytes
thirdparty/lib/raspberrypi/libcblas.a | Bin 261416 -> 260756 bytes
thirdparty/lib/raspberrypi/liblapack.a | Bin 6869860 -> 7700624 bytes
thirdparty/lib/raspberrypi/librefblas.a | Bin 441848 -> 441244 bytes
thirdparty/lib/raspberrypi/libwiringPi.a | Bin 0 -> 99552 bytes
thirdparty/lib/raspberrypi/libwiringPi.so | Bin 58044 -> 0 bytes
thirdparty/lib/raspberrypi/libwiringPiDev.a | Bin 0 -> 30216 bytes
901 files changed, 55489 insertions(+), 4716 deletions(-)
create mode 100644 Doc/how_to_use_scilab2c.pdf
mode change 100644 => 100755 RUN_TESTS/run_tests.bat
create mode 100644 cleaner.sce
create mode 100755 help/builder_help.sce
create mode 100755 help/cleaner_help.sce
create mode 100644 help/en_US/AVRADCSetup.xml
create mode 100644 help/en_US/AVRDigitalIn.xml
create mode 100644 help/en_US/AVRDigitalOut.xml
create mode 100644 help/en_US/AVRDigitalPortSetup.xml
create mode 100644 help/en_US/AVRDigitalSetup.xml
create mode 100644 help/en_US/AVRGetTimerValue.xml
create mode 100644 help/en_US/AVRPWM0SetDuty.xml
create mode 100644 help/en_US/AVRPWM0Setup.xml
create mode 100644 help/en_US/AVRPWM1SetDuty.xml
create mode 100644 help/en_US/AVRPWM1Setup.xml
create mode 100644 help/en_US/AVRPWM2SetDuty.xml
create mode 100644 help/en_US/AVRPWM2Setup.xml
create mode 100644 help/en_US/AVRReadADC.xml
create mode 100644 help/en_US/AVRSleep.xml
create mode 100644 help/en_US/AVRTimerSetup.xml
create mode 100644 help/en_US/AVRUARTReceive.xml
create mode 100644 help/en_US/AVRUARTSetup.xml
create mode 100644 help/en_US/AVRUARTTransmit.xml
create mode 100644 help/en_US/CV_AdaptiveThreshold.xml
create mode 100644 help/en_US/CV_Blur.xml
create mode 100644 help/en_US/CV_Canny.xml
create mode 100644 help/en_US/CV_CornerHarris.xml
create mode 100644 help/en_US/CV_CreateImage.xml
create mode 100644 help/en_US/CV_CvtColor.xml
create mode 100644 help/en_US/CV_Dilate.xml
create mode 100644 help/en_US/CV_DistanceTransform.xml
create mode 100644 help/en_US/CV_Erode.xml
create mode 100644 help/en_US/CV_GaussianBlur.xml
create mode 100644 help/en_US/CV_GetImgSize.xml
create mode 100644 help/en_US/CV_LoadImage.xml
create mode 100644 help/en_US/CV_MedianBlur.xml
create mode 100644 help/en_US/CV_SaveImage.xml
create mode 100644 help/en_US/CV_ShowImage.xml
create mode 100644 help/en_US/CV_Threshold.xml
create mode 100644 help/en_US/CV_WaitKey.xml
create mode 100644 help/en_US/build_help.sce
create mode 100644 help/en_US/master_help.xml
create mode 100644 help/en_US/scilab_en_US_help/AVRADCSetup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRDigitalIn.html
create mode 100644 help/en_US/scilab_en_US_help/AVRDigitalOut.html
create mode 100644 help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRDigitalSetup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRGetTimerValue.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM0Setup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM1Setup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html
create mode 100644 help/en_US/scilab_en_US_help/AVRPWM2Setup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRReadADC.html
create mode 100644 help/en_US/scilab_en_US_help/AVRSleep.html
create mode 100644 help/en_US/scilab_en_US_help/AVRTimerSetup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRUARTReceive.html
create mode 100644 help/en_US/scilab_en_US_help/AVRUARTSetup.html
create mode 100644 help/en_US/scilab_en_US_help/AVRUARTTransmit.html
create mode 100644 help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html
create mode 100644 help/en_US/scilab_en_US_help/CV_Blur.html
create mode 100644 help/en_US/scilab_en_US_help/CV_Canny.html
create mode 100644 help/en_US/scilab_en_US_help/CV_CornerHarris.html
create mode 100644 help/en_US/scilab_en_US_help/CV_CreateImage.html
create mode 100644 help/en_US/scilab_en_US_help/CV_CvtColor.html
create mode 100644 help/en_US/scilab_en_US_help/CV_Dilate.html
create mode 100644 help/en_US/scilab_en_US_help/CV_DistanceTransform.html
create mode 100644 help/en_US/scilab_en_US_help/CV_Erode.html
create mode 100644 help/en_US/scilab_en_US_help/CV_GaussianBlur.html
create mode 100644 help/en_US/scilab_en_US_help/CV_GetImgSize.html
create mode 100644 help/en_US/scilab_en_US_help/CV_LoadImage.html
create mode 100644 help/en_US/scilab_en_US_help/CV_MedianBlur.html
create mode 100644 help/en_US/scilab_en_US_help/CV_SaveImage.html
create mode 100644 help/en_US/scilab_en_US_help/CV_ShowImage.html
create mode 100644 help/en_US/scilab_en_US_help/CV_Threshold.html
create mode 100644 help/en_US/scilab_en_US_help/CV_WaitKey.html
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
create mode 100644 help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
create mode 100644 help/en_US/scilab_en_US_help/ScilabCaution.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabEdit.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabExecute.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabImportant.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabNote.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabTip.png
create mode 100644 help/en_US/scilab_en_US_help/ScilabWarning.png
create mode 100644 help/en_US/scilab_en_US_help/c_code.css
create mode 100644 help/en_US/scilab_en_US_help/index.html
create mode 100644 help/en_US/scilab_en_US_help/jhelpidx.xml
create mode 100644 help/en_US/scilab_en_US_help/jhelpmap.jhm
create mode 100644 help/en_US/scilab_en_US_help/jhelpset.hs
create mode 100644 help/en_US/scilab_en_US_help/jhelptoc.xml
create mode 100644 help/en_US/scilab_en_US_help/scilab_code.css
create mode 100644 help/en_US/scilab_en_US_help/section_0da8c7f3adca54f0475553087384b7a7.html
create mode 100644 help/en_US/scilab_en_US_help/section_473a2b9e79723ff76a7f243f85d2b6b8.html
create mode 100644 help/en_US/scilab_en_US_help/section_4d177ceb9ae128b1850140a7901a140a.html
create mode 100644 help/en_US/scilab_en_US_help/section_c4a64b600f61b91c1ebf30f1b892cb10.html
create mode 100644 help/en_US/scilab_en_US_help/style.css
create mode 100644 help/en_US/scilab_en_US_help/xml_code.css
create mode 100644 jar/scilab_en_US_help.jar
create mode 100644 libraries/blasplus.lib
create mode 100644 libraries/lapack.lib
create mode 100755 locales/en_US.po
create mode 100644 locales/en_US/LC_MESSAGES/scilab2c.mo
create mode 100755 locales/en_US/LC_MESSAGES/scilab2c.po
create mode 100644 macros/ASTManagement/AST_HandleCC.sci
create mode 100644 macros/ASTManagement/AST_HandleFunCC.sci
create mode 100644 macros/ASTManagement/AST_HandleFunRC.sci
create mode 100644 macros/ASTManagement/AST_HandleRC.sci
create mode 100644 macros/CCodeGeneration/C_GenDeclarations_Dup.sci
create mode 100644 macros/CCodeGeneration/C_GenerateMkfle_arduino.sci
create mode 100644 macros/FunctionAnnotation/FA_FSFIRLIN_SZ.sci
create mode 100644 macros/FunctionAnnotation/FA_INSZ_RPI.sci
create mode 100644 macros/FunctionAnnotation/FA_SZ_AMELL.sci
delete mode 100644 macros/FunctionAnnotation/FA_SZ_FULLRF.sci
create mode 100644 macros/FunctionAnnotation/FA_SZ_MODSN.sci
create mode 100644 macros/FunctionAnnotation/FA_TP_ASCII.sci
create mode 100644 macros/FunctionAnnotation/FA_TP_MODSN.sci
create mode 100644 macros/Scilab-Arduino/cmd_i2c_dev.sci
create mode 100644 macros/Scilab-Arduino/cmd_i2c_read.sci
create mode 100644 macros/Scilab-Arduino/cmd_i2c_read_register.sci
create mode 100644 macros/Scilab-Arduino/cmd_i2c_write.sci
create mode 100644 macros/Scilab-Arduino/cmd_i2c_write_register.sci
create mode 100644 macros/SymbolTable/ST_InsOutArg_Dup.sci
create mode 100644 src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c
create mode 100644 src/c/elementaryFunctions/Trigonometry/sinc/int_sinc.h
create mode 100644 src/c/elementaryFunctions/Trigonometry/sinc/sinc.h
create mode 100644 src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c
create mode 100644 src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c
create mode 100644 src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c
create mode 100644 src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c
create mode 100644 src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c
create mode 100644 src/c/elementaryFunctions/includes/gcd.h
create mode 100644 src/c/elementaryFunctions/includes/int32.h
create mode 100644 src/c/elementaryFunctions/includes/isreal.h
create mode 100644 src/c/elementaryFunctions/includes/lcm.h
create mode 100644 src/c/elementaryFunctions/includes/nextpow2.h
create mode 100644 src/c/elementaryFunctions/includes/sinc.h
create mode 100644 src/c/elementaryFunctions/includes/uint32.h
create mode 100644 src/c/elementaryFunctions/int32/dint32a.c
create mode 100644 src/c/elementaryFunctions/int32/dint32s.c
create mode 100644 src/c/elementaryFunctions/int32/i16int32a.c
create mode 100644 src/c/elementaryFunctions/int32/i16int32s.c
create mode 100644 src/c/elementaryFunctions/int32/i8int32a.c
create mode 100644 src/c/elementaryFunctions/int32/i8int32s.c
create mode 100644 src/c/elementaryFunctions/int32/sint32a.c
create mode 100644 src/c/elementaryFunctions/int32/sint32s.c
create mode 100644 src/c/elementaryFunctions/int32/u16int32a.c
create mode 100644 src/c/elementaryFunctions/int32/u16int32s.c
create mode 100644 src/c/elementaryFunctions/int32/u32int32a.c
create mode 100644 src/c/elementaryFunctions/int32/u32int32s.c
create mode 100644 src/c/elementaryFunctions/int32/u8int32a.c
create mode 100644 src/c/elementaryFunctions/int32/u8int32s.c
create mode 100644 src/c/elementaryFunctions/interfaces/int_gcd.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_int32.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_isreal.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_lcm.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_nextpow2.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_sinc.h
create mode 100644 src/c/elementaryFunctions/interfaces/int_uint32.h
create mode 100644 src/c/elementaryFunctions/isreal/disreals.c
create mode 100644 src/c/elementaryFunctions/isreal/sisreals.c
create mode 100644 src/c/elementaryFunctions/linspace/slinspacea.c
create mode 100644 src/c/elementaryFunctions/linspace/slinspaces.c
create mode 100644 src/c/elementaryFunctions/nextpow2/dnextpow2a.c
create mode 100644 src/c/elementaryFunctions/uint32/duint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/duint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/i16uint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/i16uint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/i32uint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/i32uint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/i8uint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/i8uint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/suint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/suint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/u16uint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/u16uint32s.c
create mode 100644 src/c/elementaryFunctions/uint32/u8uint32a.c
create mode 100644 src/c/elementaryFunctions/uint32/u8uint32s.c
create mode 100644 src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.c
create mode 100644 src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.c
create mode 100644 src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.c
create mode 100644 src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c
create mode 100644 src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c
delete mode 100644 src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c
create mode 100644 src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.c
create mode 100644 src/c/hardware/rasberrypi/Misc/RPI_boardRev.c
create mode 100644 src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c
create mode 100644 src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c
create mode 100644 src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.c
create mode 100644 src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.c
create mode 100644 src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c
create mode 100644 src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c
create mode 100644 src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c
create mode 100644 src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c
create mode 100644 src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.c
create mode 100644 src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c
create mode 100644 src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c
create mode 100644 src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c
create mode 100644 src/c/hardware/rasberrypi/Timing/RPI_micros.c
create mode 100644 src/c/hardware/rasberrypi/Timing/RPI_millis.c
create mode 100644 src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c
create mode 100644 src/c/hardware/rasberrypi/Timing/u32RPI_delays.c
create mode 100644 src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c
create mode 100644 src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c
create mode 100644 src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c
create mode 100644 src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c
delete mode 100644 src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
delete mode 100644 src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
delete mode 100644 src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h
delete mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h
create mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h
delete mode 100644 src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h
delete mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h
create mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h
delete mode 100644 src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c
create mode 100644 src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64Orientation.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64circle.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64clear.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64line.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64point.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64putchar.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64puts.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c
create mode 100644 src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setup.c
create mode 100644 src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c
create mode 100644 src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c
create mode 100644 src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c
create mode 100644 src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c
create mode 100644 src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c
create mode 100644 src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c
create mode 100644 src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c
create mode 100644 src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c
create mode 100644 src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c
create mode 100644 src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c
create mode 100644 src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c
create mode 100644 src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c
create mode 100644 src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c
create mode 100644 src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c
create mode 100644 src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c
create mode 100644 src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c
delete mode 100644 src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
delete mode 100644 src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
delete mode 100644 src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
delete mode 100644 src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
create mode 100644 src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c
create mode 100644 src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c
delete mode 100644 src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
delete mode 100644 src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c
create mode 100644 src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c
delete mode 100644 src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
delete mode 100644 src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
delete mode 100644 src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
delete mode 100644 src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
delete mode 100644 src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
create mode 100644 src/c/interpolation/includes/interp1.h
create mode 100644 src/c/interpolation/interfaces/int_interp1.h
create mode 100644 src/c/interpolation/interp1/dinterp13a.c
create mode 100644 src/c/interpolation/interp1/sinterp13a.c
delete mode 100644 src/c/linearAlgebra/fullrf/dfullrfa.c
delete mode 100644 src/c/linearAlgebra/givens/dgivensa.c
delete mode 100644 src/c/linearAlgebra/householder/dhouseholdera.c
delete mode 100644 src/c/linearAlgebra/includes/fullrf.h
delete mode 100644 src/c/linearAlgebra/includes/givens.h
delete mode 100644 src/c/linearAlgebra/includes/householder.h
delete mode 100644 src/c/linearAlgebra/includes/qr.h
delete mode 100644 src/c/linearAlgebra/includes/rowcomp.h
delete mode 100644 src/c/linearAlgebra/includes/sqroot.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_fullrf.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_givens.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_householder.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_qr.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_rowcomp.h
delete mode 100644 src/c/linearAlgebra/interfaces/int_sqroot.h
delete mode 100644 src/c/linearAlgebra/proj/dproja.c
delete mode 100644 src/c/linearAlgebra/projspec/dprojspeca.c
delete mode 100644 src/c/linearAlgebra/qr/dqra.c
delete mode 100644 src/c/linearAlgebra/rowcomp/drowcompa.c
delete mode 100644 src/c/linearAlgebra/sqroot/dsqroota.c
delete mode 100644 src/c/linearAlgebra/svd/.1.c.swp
delete mode 100644 src/c/matrixOperations/Slash/dslasha.c
create mode 100644 src/c/matrixOperations/includes/spec.h
create mode 100644 src/c/matrixOperations/interfaces/int_spec.h
create mode 100644 src/c/matrixOperations/spec/Makefile.am
create mode 100644 src/c/matrixOperations/spec/Makefile.in
create mode 100644 src/c/matrixOperations/spec/cspeca.c
create mode 100644 src/c/matrixOperations/spec/dspeca.c
create mode 100644 src/c/matrixOperations/spec/sspeca.c
create mode 100644 src/c/matrixOperations/spec/testDoubleSpec.c
create mode 100644 src/c/matrixOperations/spec/testFloatSpec.c
create mode 100644 src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj
create mode 100644 src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters
create mode 100644 src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj
create mode 100644 src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj.filters
create mode 100644 src/c/matrixOperations/spec/zspeca.c
create mode 100644 src/c/matrixOperations/spec2/Makefile.am
create mode 100644 src/c/matrixOperations/spec2/Makefile.in
create mode 100644 src/c/matrixOperations/spec2/cspec2a.c
create mode 100644 src/c/matrixOperations/spec2/dspec2a.c
create mode 100644 src/c/matrixOperations/spec2/sspec2a.c
create mode 100644 src/c/matrixOperations/spec2/testDoubleSpec2.c
create mode 100644 src/c/matrixOperations/spec2/testFloatSpec2.c
create mode 100644 src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj
create mode 100644 src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters
create mode 100644 src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj
create mode 100644 src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters
create mode 100644 src/c/matrixOperations/spec2/zspec2a.c
create mode 100644 src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
create mode 100644 src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
create mode 100644 src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
create mode 100644 src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
create mode 100644 src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
create mode 100644 src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
create mode 100644 src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
create mode 100644 src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
create mode 100644 src/c/scilab-arduino/includes/cmd_analog_in_volt.h
create mode 100644 src/c/scilab-arduino/includes/cmd_analog_out_volt.h
create mode 100644 src/c/scilab-arduino/includes/cmd_dcmotor_release.h
create mode 100644 src/c/scilab-arduino/includes/cmd_i2c_dev.h
create mode 100644 src/c/scilab-arduino/includes/cmd_i2c_read.h
create mode 100644 src/c/scilab-arduino/includes/cmd_i2c_read_register.h
create mode 100644 src/c/scilab-arduino/includes/cmd_i2c_write.h
create mode 100644 src/c/scilab-arduino/includes/cmd_i2c_write_register.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
create mode 100644 src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
create mode 100644 src/c/signalProcessing/%k/dmodka.c
create mode 100644 src/c/signalProcessing/%k/int_modk.h
create mode 100644 src/c/signalProcessing/%k/modk.h
create mode 100644 src/c/signalProcessing/%sn/dmodsna.c
create mode 100644 src/c/signalProcessing/%sn/dmodsns.c
create mode 100644 src/c/signalProcessing/%sn/int_modsn.h
create mode 100644 src/c/signalProcessing/%sn/modsn.h
create mode 100644 src/c/signalProcessing/%sn/zmodsna.c
create mode 100644 src/c/signalProcessing/%sn/zmodsns.c
create mode 100644 src/c/signalProcessing/amell/amell.h
create mode 100644 src/c/signalProcessing/amell/damella.c
create mode 100644 src/c/signalProcessing/amell/damells.c
create mode 100644 src/c/signalProcessing/amell/int_amell.h
create mode 100644 src/c/signalProcessing/buttmag/buttmag.h
create mode 100644 src/c/signalProcessing/buttmag/dbuttmags.c
create mode 100644 src/c/signalProcessing/buttmag/int_buttmag.h
create mode 100644 src/c/signalProcessing/buttmag/u8buttmags.c
create mode 100644 src/c/signalProcessing/cheb1mag/cheb1mag.h
create mode 100644 src/c/signalProcessing/cheb1mag/dcheb1mags.c
create mode 100644 src/c/signalProcessing/cheb1mag/int_cheb1mag.h
create mode 100644 src/c/signalProcessing/cheb2mag/cheb2mag.h
create mode 100644 src/c/signalProcessing/cheb2mag/dcheb2mags.c
create mode 100644 src/c/signalProcessing/cheb2mag/int_cheb2mag.h
create mode 100644 src/c/signalProcessing/ell1mag/dell1maga.c
create mode 100644 src/c/signalProcessing/ell1mag/ell1mag.h
create mode 100644 src/c/signalProcessing/ell1mag/int_ell1mag.h
create mode 100644 src/c/signalProcessing/ell1mag/zell1maga.c
create mode 100644 src/c/signalProcessing/ffilt/ffilt.h
create mode 100644 src/c/signalProcessing/ffilt/gffilts.c
create mode 100644 src/c/signalProcessing/ffilt/int_ffilt.h
create mode 100644 src/c/signalProcessing/filt_sinc/dfilt_sincs.c
create mode 100644 src/c/signalProcessing/filt_sinc/filt_sinc.h
create mode 100644 src/c/signalProcessing/filt_sinc/int_filt_sinc.h
create mode 100644 src/c/signalProcessing/fsfirlin/dfsfirlina.c
create mode 100644 src/c/signalProcessing/fsfirlin/fsfirlin.h
create mode 100644 src/c/signalProcessing/fsfirlin/int_fsfirlin.h
create mode 100644 src/c/signalProcessing/includes/amell.h
create mode 100644 src/c/signalProcessing/includes/buttmag.h
create mode 100644 src/c/signalProcessing/includes/cheb1mag.h
create mode 100644 src/c/signalProcessing/includes/cheb2mag.h
create mode 100644 src/c/signalProcessing/includes/dct.h
create mode 100644 src/c/signalProcessing/includes/ell1mag.h
create mode 100644 src/c/signalProcessing/includes/ffilt.h
create mode 100644 src/c/signalProcessing/includes/filt_sinc.h
create mode 100644 src/c/signalProcessing/includes/fsfirlin.h
create mode 100644 src/c/signalProcessing/includes/idct.h
create mode 100644 src/c/signalProcessing/includes/modk.h
create mode 100644 src/c/signalProcessing/includes/modsn.h
create mode 100644 src/c/signalProcessing/includes/sincd.h
create mode 100644 src/c/signalProcessing/includes/zpbutt.h
create mode 100644 src/c/signalProcessing/includes/zpch1.h
create mode 100644 src/c/signalProcessing/includes/zpch2.h
create mode 100644 src/c/signalProcessing/interfaces/int_amell.h
create mode 100644 src/c/signalProcessing/interfaces/int_buttmag.h
create mode 100644 src/c/signalProcessing/interfaces/int_cheb1mag.h
create mode 100644 src/c/signalProcessing/interfaces/int_cheb2mag.h
create mode 100644 src/c/signalProcessing/interfaces/int_dct.h
create mode 100644 src/c/signalProcessing/interfaces/int_ell1mag.h
create mode 100644 src/c/signalProcessing/interfaces/int_ffilt.h
create mode 100644 src/c/signalProcessing/interfaces/int_filt_sinc.h
create mode 100644 src/c/signalProcessing/interfaces/int_fsfirlin.h
create mode 100644 src/c/signalProcessing/interfaces/int_idct.h
create mode 100644 src/c/signalProcessing/interfaces/int_modk.h
create mode 100644 src/c/signalProcessing/interfaces/int_modsn.h
create mode 100644 src/c/signalProcessing/interfaces/int_sincd.h
create mode 100644 src/c/signalProcessing/interfaces/int_zpbutt.h
create mode 100644 src/c/signalProcessing/interfaces/int_zpch1.h
create mode 100644 src/c/signalProcessing/interfaces/int_zpch2.h
create mode 100644 src/c/signalProcessing/modk/dmodka.c
create mode 100644 src/c/signalProcessing/sincd/dsincds.c
create mode 100644 src/c/signalProcessing/sincd/int_sincd.h
create mode 100644 src/c/signalProcessing/sincd/sincd.h
create mode 100644 src/c/signalProcessing/sincd/u8sincds.c
create mode 100644 src/c/signalProcessing/transforms/dct/cdcta.c
create mode 100644 src/c/signalProcessing/transforms/dct/ddcta.c
create mode 100644 src/c/signalProcessing/transforms/dct/sdcta.c
create mode 100644 src/c/signalProcessing/transforms/dct/zdcta.c
create mode 100644 src/c/signalProcessing/transforms/idct/cidcta.c
create mode 100644 src/c/signalProcessing/transforms/idct/didcta.c
create mode 100644 src/c/signalProcessing/transforms/idct/sidcta.c
create mode 100644 src/c/signalProcessing/transforms/idct/zidcta.c
create mode 100644 src/c/signalProcessing/zpbutt/dzpbutts.c
create mode 100644 src/c/signalProcessing/zpbutt/int_zpbutt.h
create mode 100644 src/c/signalProcessing/zpbutt/zpbutt.h
create mode 100644 src/c/signalProcessing/zpch1/dzpch1s.c
create mode 100644 src/c/signalProcessing/zpch1/int_zpch1.h
create mode 100644 src/c/signalProcessing/zpch1/zpch1.h
create mode 100644 src/c/signalProcessing/zpch2/dzpch2s.c
create mode 100644 src/c/signalProcessing/zpch2/int_zpch2.h
create mode 100644 src/c/signalProcessing/zpch2/zpch2.h
create mode 100644 src/c/string/ascii/dasciia.c
create mode 100644 src/c/string/ascii/gasciia.c
create mode 100644 src/c/string/includes/ascii.h
create mode 100644 src/c/string/includes/strchr.h
create mode 100644 src/c/string/includes/strcspn.h
create mode 100644 src/c/string/includes/strncpy.h
create mode 100644 src/c/string/includes/strspn.h
create mode 100644 src/c/string/interfaces/int_ascii.h
create mode 100644 src/c/string/interfaces/int_strchr.h
create mode 100644 src/c/string/interfaces/int_strcspn.h
create mode 100644 src/c/string/interfaces/int_strncpy.h
create mode 100644 src/c/string/interfaces/int_strspn.h
create mode 100644 src/c/string/strchr/gstrchra.c
create mode 100644 src/c/string/strcspn/gstrcspna.c
create mode 100644 src/c/string/strncpy/gstrncpya.c
create mode 100644 src/c/string/strspn/gstrspna.c
create mode 100644 thirdparty/includes/GSL/gsl/gsl_blas.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_blas_types.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_complex_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_complex_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_block_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_bspline.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_cblas.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_cdf.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_chebyshev.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_check_range.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_combination.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_complex.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_complex_math.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const_cgs.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const_cgsm.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const_mks.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const_mksa.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_const_num.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_deriv.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_dft_complex.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_dft_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_dht.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_diff.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_eigen.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_errno.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_complex.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_real.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fft_real_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_fit.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_heapsort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_histogram.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_histogram2d.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_ieee_utils.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_inline.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_integration.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_interp.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_interp2d.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_linalg.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_machine.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_math.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_complex_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_complex_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_message.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_min.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_minmax.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_mode.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_monte.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_monte_miser.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_monte_plain.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_monte_vegas.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multifit.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multilarge.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multimin.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multiroots.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_multiset.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_nan.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_ntuple.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_odeiv.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_odeiv2.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permutation.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_complex_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_complex_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_permute_vector_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_poly.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_pow_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_precision.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_qrng.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_randist.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_rng.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_roots.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_rstat.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_airy.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_bessel.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_clausen.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_coupling.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_dawson.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_debye.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_dilog.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_elementary.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_ellint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_elljac.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_erf.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_exp.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_expint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_gamma.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_lambert.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_legendre.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_log.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_psi.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_result.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_transport.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_trig.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sf_zeta.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_siman.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sort_vector_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_spblas.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_specfunc.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_splinalg.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_spline.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_spline2d.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_spmatrix.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_statistics_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sum.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_sys.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_test.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_types.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_char.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_complex.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_complex_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_complex_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_complex_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_float.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_int.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_long.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_long_double.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_short.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_uchar.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_uint.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_ulong.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_vector_ushort.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_version.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_wavelet.h
create mode 100644 thirdparty/includes/GSL/gsl/gsl_wavelet2d.h
create mode 100644 thirdparty/includes/WiringPi/RPI_wfi.h
create mode 100644 thirdparty/includes/WiringPi/gertboard.h
create mode 100644 thirdparty/includes/WiringPi/lcd.h
create mode 100644 thirdparty/includes/WiringPi/lcd128x64.h
create mode 100644 thirdparty/includes/WiringPi/mcp23008.h
create mode 100644 thirdparty/includes/WiringPi/mcp23016.h
create mode 100644 thirdparty/includes/WiringPi/mcp23017.h
create mode 100644 thirdparty/includes/WiringPi/mcp23s08.h
create mode 100644 thirdparty/includes/WiringPi/mcp23s17.h
create mode 100644 thirdparty/includes/WiringPi/pcf8574.h
create mode 100644 thirdparty/includes/WiringPi/pcf8591.h
create mode 100644 thirdparty/includes/WiringPi/piGlow.h
create mode 100644 thirdparty/includes/WiringPi/sn3218.h
create mode 100644 thirdparty/includes/WiringPi/softPwm.h
create mode 100644 thirdparty/includes/WiringPi/softTone.h
create mode 100644 thirdparty/includes/WiringPi/sr595.h
create mode 100644 thirdparty/includes/WiringPi/wiringPiI2C.h
create mode 100644 thirdparty/includes/WiringPi/wiringShift.h
create mode 100644 thirdparty/lib/raspberrypi/libRPIwfi.a
create mode 100644 thirdparty/lib/raspberrypi/libwiringPi.a
delete mode 100644 thirdparty/lib/raspberrypi/libwiringPi.so
create mode 100644 thirdparty/lib/raspberrypi/libwiringPiDev.a
diff --git a/Doc/how_to_use_scilab2c.pdf b/Doc/how_to_use_scilab2c.pdf
new file mode 100644
index 0000000..a3ec14f
Binary files /dev/null and b/Doc/how_to_use_scilab2c.pdf differ
diff --git a/RUN_TESTS/run_tests.bat b/RUN_TESTS/run_tests.bat
old mode 100644
new mode 100755
diff --git a/builder.sce b/builder.sce
index 5938a58..050f609 100644
--- a/builder.sce
+++ b/builder.sce
@@ -27,8 +27,10 @@ TOOLBOX_TITLE = 'Scilab 2 C Converter';
toolbox_dir = get_absolute_file_path('builder.sce');
tbx_builder_macros(toolbox_dir);
-//tbx_builder_help(toolbox_dir);
+tbx_build_localization(TOOLBOX_NAME, toolbox_dir);
+tbx_builder_help(toolbox_dir);
tbx_build_loader(TOOLBOX_NAME, toolbox_dir);
+tbx_build_cleaner(TOOLBOX_NAME, toolbox_dir);
clear toolbox_dir TOOLBOX_NAME TOOLBOX_TITLE;
// ====================================================================
diff --git a/cleaner.sce b/cleaner.sce
new file mode 100644
index 0000000..370c68f
--- /dev/null
+++ b/cleaner.sce
@@ -0,0 +1,38 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.0 or more is required.");
+end
+function perform_clean()
+ root_tlbx = get_absolute_file_path('cleaner.sce');
+
+ if isfile(root_tlbx + '/macros/cleanmacros.sce') then
+ exec(root_tlbx+'/macros/cleanmacros.sce');
+ end
+
+ if isfile(root_tlbx + '/src/cleaner_src.sce') then
+ exec(root_tlbx+'/src/cleaner_src.sce');
+ end
+
+ if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then
+ exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ end
+
+ if isfile(root_tlbx + "/help/cleaner_help.sce") then
+ exec(root_tlbx + "/help/cleaner_help.sce");
+ end
+
+ if isfile(root_tlbx + "/loader.sce") then
+ mdelete(root_tlbx + "/loader.sce");
+ end
+
+ if isfile(root_tlbx + "/unloader.sce") then
+ mdelete(root_tlbx + "/unloader.sce");
+ end
+endfunction
+perform_clean();
+clear perform_clean;
diff --git a/etc/scilab2c.start b/etc/scilab2c.start
index 59cf086..2f364c6 100644
--- a/etc/scilab2c.start
+++ b/etc/scilab2c.start
@@ -20,12 +20,12 @@ sci2c_GenFunctionslib = lib(pathmacros + "GeneralFunctions" + filesep());
sci2c_SymbolTablelib = lib(pathmacros + "SymbolTable" + filesep());
sci2c_ToolInitlib = lib(pathmacros + "ToolInitialization" + filesep());
sci2c_finDeps = lib(pathmacros + "findDeps" + filesep());
-sci2c_AVRlib = lib(pathmacros + "Hardware\AVR" + filesep());
-sci2c_RPilib = lib(pathmacros + "Hardware\RasberryPi"+ filesep());
+sci2c_AVRlib = lib(pathmacros + "Hardware\AVR" + filesep());
+sci2c_RPilib = lib(pathmacros + "Hardware\RasberryPi"+ filesep());
sci2c_ScilabArduinolib = lib(pathmacros + "Scilab-Arduino" + filesep());
sci2c_CVCorelib = lib(pathmacros + "ImageProcessing\core" + filesep());
sci2c_CVHighguilib = lib(pathmacros + "ImageProcessing\highgui" + filesep());
-sci2c_CVImgproclib = lib(pathmacros + "ImageProcessing\imgproc" + filesep());
+sci2c_CVImgproclib = lib(pathmacros + "ImageProcessing\imgproc" + filesep());
clear pathmacros;
// Load and add help chapter
@@ -47,7 +47,7 @@ if or(getscilabmode() == ["NW";"STD"]) then
mprintf("\tLoad demos\n");
pathdemos = pathconvert(root_tlbx + "/demos/scilab2c.dem.gateway.sce",%f,%t);
- add_demo(gettext("Scilab2C"),pathdemos);
+// add_demo(gettext("Scilab2C"),pathdemos);
clear pathdemos ;
end
diff --git a/help/builder_help.sce b/help/builder_help.sce
new file mode 100755
index 0000000..42729d1
--- /dev/null
+++ b/help/builder_help.sce
@@ -0,0 +1,4 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_builder_help_lang(["en_US"], ..
+get_absolute_file_path("builder_help.sce"));
diff --git a/help/cleaner_help.sce b/help/cleaner_help.sce
new file mode 100755
index 0000000..a2b5e7e
--- /dev/null
+++ b/help/cleaner_help.sce
@@ -0,0 +1,21 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function cleaner_help()
+ path = get_absolute_file_path("cleaner_help.sce");
+ langdirs = dir(path);
+ langdirs = langdirs.name(langdirs.isdir);
+
+ for l = 1:size(langdirs, "*")
+ masterfile = fullpath(path + filesep() + langdirs(l) + "/master_help.xml");
+ mdelete(masterfile);
+
+ jarfile = fullpath(path + "/../jar/scilab_" + langdirs(l) + "_help.jar");
+ mdelete(jarfile);
+
+ tmphtmldir = fullpath(path + "/" + langdirs(l) + "/scilab_" + langdirs(l) + "_help");
+ rmdir(tmphtmldir, "s");
+ end
+endfunction
+
+cleaner_help();
+clear cleaner_help;
diff --git a/help/en_US/AVRADCSetup.xml b/help/en_US/AVRADCSetup.xml
new file mode 100644
index 0000000..a0abf03
--- /dev/null
+++ b/help/en_US/AVRADCSetup.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+ AVRADCSetup
+ Function to initialise ADC of AVR
+
+
+
+
+ Calling Sequence
+
+ AVRADCSetup(uint8 prescaler, uint8 adc_ref)
+
+
+
+
+
+ Parameters
+
+ prescaler:
+ prescaler to be used for generating ADC clock (0-7)
+ adc_ref :
+ reference voltage to be used for ADC conversion
+
+
+
+
+ Description
+
+This function initialises ADc of AVR with given parameters. 'prescaler' is needed for deciding ADC clock. ADC clock should be between 50KHz and 200KHz and it given as (MCU clock/2^prescaler). Select appropriate prescaler depending on MCU clock. 'adc_ref' selects one of the available reference voltage sources available.
+
+
+The adc_ref can take the following values-
+
+0 -> Voltage on VREF pin
+1 -> Voltage on AVCC pin
+2 -> Internal 2.56 reference voltage
+
+
+
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRReadADC
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRDigitalIn.xml b/help/en_US/AVRDigitalIn.xml
new file mode 100644
index 0000000..ef87407
--- /dev/null
+++ b/help/en_US/AVRDigitalIn.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+ AVRDigitalIn
+ Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+ Calling Sequence
+
+ state=AVRDigitalIn(port,pin)
+
+
+
+
+
+ Parameters
+
+ port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+
+
+
+
+ Description
+
+Each AVR microcontroller has pins which can be configured as digital
+inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port as
+digital input.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRDigitalSetup
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRDigitalOut.xml b/help/en_US/AVRDigitalOut.xml
new file mode 100644
index 0000000..0ce8197
--- /dev/null
+++ b/help/en_US/AVRDigitalOut.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+ AVRDigitalOut
+ Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+ Calling Sequence
+
+ AVRDigitalOut(port,pin,state)
+
+
+
+
+
+ Parameters
+
+ port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+ state :
+ state to be outputed on pin (HIGH\LOW)
+
+
+
+
+ Description
+
+Each AVR microcontroller has pins which can be configured as digital
+outputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port as
+digital output. Also, desired output state must be specified as
+'HIGH' or 'LOW'.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRDigitalIn
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRDigitalPortSetup.xml b/help/en_US/AVRDigitalPortSetup.xml
new file mode 100644
index 0000000..8b7b15d
--- /dev/null
+++ b/help/en_US/AVRDigitalPortSetup.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+ AVRDigitalPortSetup
+ Function to decide direction of port on AVR
+
+
+
+
+ Calling Sequence
+
+ AVRDigitalPortSetup(port,direction)
+
+
+
+
+
+ Parameters
+
+ port :
+ port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)
+ direction :
+ direction to be set for pin (0 for INPUT, 1 for OUTPUT)
+
+
+
+
+ Description
+
+Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port to be
+used as digital output/input. Also, desired direction must be specified as
+'INPUT' or 'OUTPUT'.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRDigitalOut
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRDigitalSetup.xml b/help/en_US/AVRDigitalSetup.xml
new file mode 100644
index 0000000..a228573
--- /dev/null
+++ b/help/en_US/AVRDigitalSetup.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+ AVRDigitalSetup
+ Function to decide direction of a digital pin on AVR
+
+
+
+
+ Calling Sequence
+
+ AVRDigitalSetup(port,pin,direction)
+
+
+
+
+
+ Parameters
+
+ port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+ direction :
+ direction to be set for pin (INPUT\OUTPUT)
+
+
+
+
+ Description
+
+Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port to be
+used as digital output/input. Also, desired direction must be specified as
+'INPUT' or 'OUTPUT'.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRDigitalOut
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRGetTimerValue.xml b/help/en_US/AVRGetTimerValue.xml
new file mode 100644
index 0000000..f639c60
--- /dev/null
+++ b/help/en_US/AVRGetTimerValue.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+ AVRGetTimerValue
+ Function to get timer count
+
+
+
+
+ Parameters
+
+ timer :
+ timer whose current count is to be returned
+
+
+
+
+ Description
+
+This function returns the count value of a desired timer.By knowing the count value certain interrupt action can be taken.
+
+
+Timer can take the following values
+
+0 -> for timer0
+1 -> for timer1
+2 -> for timer2
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRTimerSetup
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM0SetDuty.xml b/help/en_US/AVRPWM0SetDuty.xml
new file mode 100644
index 0000000..a3f2681
--- /dev/null
+++ b/help/en_US/AVRPWM0SetDuty.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+ AVRPWM0SetDuty
+ Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+ Parameters
+
+ duty :
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+
+
+
+
+ Description
+
+Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.In this function by varying the duty cycle, varying voltage can be produced.
+
+
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRPWM0Setup
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM0Setup.xml b/help/en_US/AVRPWM0Setup.xml
new file mode 100644
index 0000000..f72f258
--- /dev/null
+++ b/help/en_US/AVRPWM0Setup.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ AVRPWM0Setup
+ Function to Setup OC0 pin for required PWM mode
+
+
+
+
+ Parameters
+
+ waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+
+
+
+
+ Description
+
+Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC0 pin to produce required
+output waveform by setting the waveform mode and otput mode.
+
+
+waveform_mode can take values-
+
+0 -> for Phase correct PWM Mode
+1 -> for Fast PWM Mode
+2 -> for CTC Mode
+
+
+
+output_mode can take values-
+
+For Phase correct PWM Mode:
+0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.
+1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.
+1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.
+For CTC Mode:
+0 to Clear OC0 on compare match
+1 to Set OC0 on compare match
+2 to toggle OC0 on compare match
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRPWM0SetDuty
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM1SetDuty.xml b/help/en_US/AVRPWM1SetDuty.xml
new file mode 100644
index 0000000..83230ea
--- /dev/null
+++ b/help/en_US/AVRPWM1SetDuty.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+ AVRPWM1SetDuty
+ Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+ Parameters
+
+ ouput_pin:
+ integer, 0 (for OC1A) or 1 (for OC1B)
+ duty:
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+ Top_Value:
+ It holds an integer value from 0 to 65535.This value sets the Top value of the counter TCNT1 i.e ICR.(for more info refer datasheet)
+
+
+
+
+ Description
+
+Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.This function Sets the duty cycle of output PWM signal.Also this function
+decides the Top Vale of TCNT1 and the output pin to output PWM signal.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Example
+AVRPWM1SetDuty(0,50,40000); //This function will produce PWM signal of 50% duty cycle on OC1A pin and TCNT1 will reset at 40000 instead at 65535.
+
+
+
+
+ See also
+
+ AVRPWM1Setup
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM1Setup.xml b/help/en_US/AVRPWM1Setup.xml
new file mode 100644
index 0000000..1498413
--- /dev/null
+++ b/help/en_US/AVRPWM1Setup.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+ AVRPWM1Setup
+ Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+ Parameters
+
+ waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+ output_pin:
+ 0 (for OC1A) or 1 for (OC1B)
+
+
+
+
+ Description
+
+Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC1A or OC1B pin to produces required
+output waveform by setting the waveform mode and otput mode.
+
+
+waveform_mode can take values-
+
+0 -> for Phase correct PWM Mode
+1 -> for Fast PWM Mode
+2 -> for CTC Mode
+
+
+
+output_mode can take values-
+
+For Phase correct PWM Mode:
+0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.
+1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.
+1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.
+For CTC Mode:
+0 to Clear OC1A or OC1B on compare match
+1 to Set OC1A or OC1B on compare match
+2 to toggle OC1A or OC1B on compare match
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Example
+AVRPWM1Setup(2,0,0); //This function will select CTC mode and will clear OC1A or OC1B
+on compare match.Also as defined the output will be produced at
+0C1A pin.
+
+
+
+
+ See also
+
+ AVRPWM1SetDuty
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM2SetDuty.xml b/help/en_US/AVRPWM2SetDuty.xml
new file mode 100644
index 0000000..d44f0f7
--- /dev/null
+++ b/help/en_US/AVRPWM2SetDuty.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+ AVRPWM2SetDuty
+ Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+ Parameters
+
+ duty :
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+
+
+
+
+ Description
+
+Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.In this function by varying the duty cycle, varying voltage can be
+produced.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Example
+AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
+AVRPWM2SetDuty(0); //Produces 0V at OC2 pin
+
+
+
+
+
+
+ See also
+
+ AVRPWM2Setup
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRPWM2Setup.xml b/help/en_US/AVRPWM2Setup.xml
new file mode 100644
index 0000000..fe80252
--- /dev/null
+++ b/help/en_US/AVRPWM2Setup.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+ AVRPWM2Setup
+ Function to Setup OC2 pin for required PWM mode
+
+
+
+
+ Parameters
+
+ waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+
+
+
+
+ Description
+
+Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC2 pin to produces required
+output waveform by setting the waveform mode and otput mode.
+
+
+waveform_mode can take values-
+
+0 -> for Phase correct PWM Mode
+1 -> for Fast PWM Mode
+2 -> for CTC Mode
+
+
+
+output_mode can take values-
+
+For Phase correct PWM Mode:
+0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.
+1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.
+1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.
+For CTC Mode:
+0 to Clear OC2 on compare match
+1 to Set OC2 on compare match
+2 to toggle OC2 on compare match
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Example
+AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
+compare match
+
+
+
+
+ See also
+
+ AVRPWM2SetDuty
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRReadADC.xml b/help/en_US/AVRReadADC.xml
new file mode 100644
index 0000000..abdcad9
--- /dev/null
+++ b/help/en_US/AVRReadADC.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+ AVRReadADC
+ Function to get voltage on analog pin on AVR
+
+
+
+
+ Calling Sequence
+
+ u8AVRReadADCs(channel)
+
+
+
+
+
+ Parameters
+
+ channel :
+ Select which channel is to be read. Values from 0-7 select one of the pins ADC0-ADC7. For other possible channel values refer datasheet
+
+
+
+
+ Description
+
+This function returns digital value for present on adc pins. 'channel'
+selects which of the ADC0-ADC7 is to be used for reading analog value.
+Apart from reading just ADC0-ADC7 other it can also read differential
+voltages between some pins. For channel values for those options, please
+refer datasheet.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRSleep.xml b/help/en_US/AVRSleep.xml
new file mode 100644
index 0000000..3ece53b
--- /dev/null
+++ b/help/en_US/AVRSleep.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+ AVRSleep
+ Function to pause the execution for the given time.
+
+
+
+
+ Description
+
+This function causes the execution to stop for the given amount of time.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+
+
+
+
+ Authors
+
+ Jorawar Singh
+
+
+
diff --git a/help/en_US/AVRTimerSetup.xml b/help/en_US/AVRTimerSetup.xml
new file mode 100644
index 0000000..420e676
--- /dev/null
+++ b/help/en_US/AVRTimerSetup.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ AVRTimerSetup
+ Function to setup Timers in ATmega16
+
+
+
+
+ See also
+
+ AVRGetTimerValues
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRUARTReceive.xml b/help/en_US/AVRUARTReceive.xml
new file mode 100644
index 0000000..84f9510
--- /dev/null
+++ b/help/en_US/AVRUARTReceive.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+ AVRUARTReceive
+ Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+ Description
+
+This function Receives Char as 8 bit value.This value is stored in UDR at receiving
+end.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRUARTSetup
+ AVRUARTTransmit
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRUARTSetup.xml b/help/en_US/AVRUARTSetup.xml
new file mode 100644
index 0000000..043e265
--- /dev/null
+++ b/help/en_US/AVRUARTSetup.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+ AVRUARTSetup
+ Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+ Parameters
+
+ mode :
+ integer, from 0 to 2
+ baudrate :
+ Enter one of the following available baudrates (2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 , 768000 , 115200 , 230400 , 250000 , 1000000)
+ stopbits :
+ integer, (0 for one stopbit) or (1 for two stopbits)
+ parity :
+ integer, from 0 to 2
+
+
+
+
+ Description
+
+This function Setup the UART or USART for Serial Communicaion between ATmega16
+and different micro controllers or between ATmega16 and Computer.
+
+
+mode can take values:
+
+0 for Asynchronous Normal mode
+1 for Asynchronous Double Speed mode
+2 for Synchronous mode
+
+
+
+parity can take values:
+
+0 for parity disabled
+1 for even parity
+2 for odd parity
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRUARTTransmit
+ AVRUARTReceive
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/AVRUARTTransmit.xml b/help/en_US/AVRUARTTransmit.xml
new file mode 100644
index 0000000..e30e374
--- /dev/null
+++ b/help/en_US/AVRUARTTransmit.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+ AVRUARTTransmit
+ Function to Transmit data using UART or USART.
+
+
+
+
+ Description
+
+This function Tranmits data over UART or USART.The data to be transmitted can
+be a Char , String , Unsigned Int, Signed Int.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ AVRUARTSetup
+ AVRUARTReceive
+
+
+
+
+ Authors
+
+ Ashish Kamble
+
+
+
diff --git a/help/en_US/CV_AdaptiveThreshold.xml b/help/en_US/CV_AdaptiveThreshold.xml
new file mode 100644
index 0000000..1483442
--- /dev/null
+++ b/help/en_US/CV_AdaptiveThreshold.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+ CV_AdaptiveThreshold
+ function to adaptively threshold input image
+
+
+
+
+ Calling Sequence
+
+ dst = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method,thresh_type,blk_size,c)
+
+
+
+
+
+ Parameters
+
+ src :
+ Source 8-bit single-channel image.
+ max_value :
+ Non-zero value assigned to the pixels for which the condition is satisfied. See the details below.
+ adaptive_method :
+ Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .
+ thresh_type :
+ Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV .
+ blockSize :
+ Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.
+ C :
+ Constant subtracted from the mean or weighted mean.Normally, it is positive but may be zero or negative as well.
+
+
+
+
+ Description
+
+This function can be used for adaptively threshold given image
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_Blur.xml b/help/en_US/CV_Blur.xml
new file mode 100644
index 0000000..228b310
--- /dev/null
+++ b/help/en_US/CV_Blur.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ CV_Blur
+ function to blur image using normalised box filter
+
+
+
+
+ Calling Sequence
+
+ dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y,border_type)
+
+
+
+
+
+ Parameters
+
+ srcimg :
+ Source image.
+ ksize_width, ksize_height :
+ blurring kernel size.
+ anchor_x, anchor_y :
+ x,y coordinates of anchor point
+ border_type :
+ border mode used to extrapolate pixels outside of the image.
+
+
+
+
+ Description
+
+This function can be used for blurring image using normalised box
+filter. Image can be of any depth and have any no of channels.
+
+
+border_type can be :
+
+BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_Threshold, CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_Canny.xml b/help/en_US/CV_Canny.xml
new file mode 100644
index 0000000..daf7f55
--- /dev/null
+++ b/help/en_US/CV_Canny.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+ CV_Canny
+ Finds edges in image using Canny algorithm
+
+
+
+
+ Calling Sequence
+
+ edges = CV_Canny(srcimg,threhold1,threshold2,aperture_size,L2gradient)
+
+
+
+
+
+ Parameters
+
+ srcimg :
+ single-channel 8-bit input image.
+ threshold1 :
+ first threshold for the hysteresis procedure.
+ threshold2 :
+ second threshold for the hysteresis procedure.
+ aperture_size :
+ aperture size for the Sobel() operator.
+ L2gradient :
+ a flag, indicating whether a more accurate
+
+
+
+
+ Description
+
+This function can be used for finding edes in single channel 8 bit
+image. 'aperture_size' and 'L2gradient' are optionals. By default,
+aperture_size is 3 and L2gradient is false.
+
+
+For L2gradient: L_2 norm =sqrt{(dI/dx)^2 + (dI/dy)^2} should be used to calculate the image gradient magnitude (L2gradient=1 ), or whether the default L_1 norm =|dI/dx|+|dI/dy| is enough (L2gradient=0).
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_CornerHarris.xml b/help/en_US/CV_CornerHarris.xml
new file mode 100644
index 0000000..e9b9426
--- /dev/null
+++ b/help/en_US/CV_CornerHarris.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+ CV_CornerHarris
+ Finds edges in image using Harris algorithm
+
+
+
+
+ Calling Sequence
+
+ edges = CV_CornerHarris(srcimg,blocksize,ksize,k,border_type)
+
+
+
+
+
+ Parameters
+
+ srcimg:
+ Input single-channel 8-bit or floating-point image.
+ blockSize:
+ Neighborhood size
+ ksize:
+ Aperture parameter for the Sobel() operator.
+ k:
+ Harris detector free parameter.
+ border_type:
+ border mode used to extrapolate pixels outside of the image.
+
+
+
+
+ Description
+
+The function runs the Harris edge detector on the image. For each pixel (x, y) it calculates a 2 * 2 gradient covariance matrix M(x,y) over a blockSize * blockSize neighborhood. Then, it computes the following characteristic: dst(x,y) = det(M(x,y)) - k .tr(M(x,y))^2. Corners in the image can be found as the local maxima of this response map.
+
+
+border_type can be :
+
+BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_CreateImage.xml b/help/en_US/CV_CreateImage.xml
new file mode 100644
index 0000000..45fde56
--- /dev/null
+++ b/help/en_US/CV_CreateImage.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+ CV_CreateImage
+ function to create an image object of given size and type
+
+
+
+
+ Calling Sequence
+
+ CV_CreateImage(image_size,bit_depth,no_of_channels)
+
+
+
+
+
+ Parameters
+
+ image_size:
+ width and height of image
+ bit_depth:
+ Bit depth of image elements
+ no_of_channels:
+ no of channels per pixels
+
+
+
+
+ Description
+
+This function can be used to create opencv image object. For more info about bit depth and channels,please refer to OpenCV documentation
+
+
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_LoadImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_CvtColor.xml b/help/en_US/CV_CvtColor.xml
new file mode 100644
index 0000000..f1f25e0
--- /dev/null
+++ b/help/en_US/CV_CvtColor.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+ CV_CvtColor
+ function to convert image from one colorspace to other colorspace
+
+
+
+
+ Calling Sequence
+
+ CV_CvtColor(srcimg,code)
+
+
+
+
+
+ Parameters
+
+ srcimg:
+ source image to be converted
+ dstimg:
+ destination image in which to store converted image
+ code:
+ String specifying conversion type. Same as defined in OpenCV. for eg. 'CV_RGB2GRAY' for conversion from RGB image to grayscale image
+ dstCn:
+ no of channels in destination image (0 by default)
+
+
+
+
+ Description
+
+This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_Dilate.xml b/help/en_US/CV_Dilate.xml
new file mode 100644
index 0000000..d01b3ab
--- /dev/null
+++ b/help/en_US/CV_Dilate.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+ CV_Dilate
+ dilates an image by using a specific structuring element.
+
+
+
+
+ Calling Sequence
+
+ cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,[iterations,border_type,border_value])
+
+
+
+
+ Parameters
+
+ src :
+ input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+ dilation_type :
+ can be one of MORPH_RECT, MORPH_CROSS,MORPH_ELLIPSE
+ dilation_size :
+ size of kernel to be used for erosion. Must be odd
+ iterations :
+ number of times erosion is applied.
+ border_type :
+ pixel extrapolation method.
+ border_value :
+ border value in case of a constant border
+
+
+
+
+ Description
+
+This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+
+
+border_type can be :
+
+ BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+ BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+ BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+ BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+ BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_Erode
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_DistanceTransform.xml b/help/en_US/CV_DistanceTransform.xml
new file mode 100644
index 0000000..0792999
--- /dev/null
+++ b/help/en_US/CV_DistanceTransform.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+ CV_DistanceTransform
+ function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+ Calling Sequence
+
+ dst = CV_DistanceTransform(srcimg,distance_type,mask_size)
+
+
+
+
+
+ Parameters
+
+ srcimg :
+ Source 8-bit single-channel image.
+ distance_type :
+ Type of distance. It can be CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C
+ mask_size :
+ Size of the distance transform mask
+
+
+
+
+ Description
+
+This function can be used to calculate distance to closest zero pixel for each pixel of the source image. Output is 32 bit floatingpoint, single channel image of the same size as that of source image.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_Erode.xml b/help/en_US/CV_Erode.xml
new file mode 100644
index 0000000..103d489
--- /dev/null
+++ b/help/en_US/CV_Erode.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+ CV_Erode
+ Erodes an image by using a specific structuring element.
+
+
+
+
+ Calling Sequence
+
+ cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,[iterations,border_type,border_value])
+
+
+
+
+ Parameters
+
+ src :
+ input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+ erosion_type :
+ can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE
+ erosion_size :
+ size of kernel to be used for erosion. Must be odd
+ iterations :
+ number of times erosion is applied.
+ border_type :
+ pixel extrapolation method.
+ border_value :
+ border value in case of a constant border
+
+
+
+
+ Description
+
+This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+
+
+border_type can be :
+
+BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_Dilate
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_GaussianBlur.xml b/help/en_US/CV_GaussianBlur.xml
new file mode 100644
index 0000000..88a8f33
--- /dev/null
+++ b/help/en_US/CV_GaussianBlur.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+ CV_GaussianBlur
+ function to blur image using gaussian filter
+
+
+
+
+ Calling Sequence
+
+ cvtimg = CV_GaussianBlur(srcimg,ksize_width,ksize_height,sigma_x,sigma_y,border_type)
+
+
+
+
+
+ Parameters
+
+ srcimg :
+ Source image.
+ ksize_width, ksize_height :
+ blurring kernel size. must be odd.
+ sigmaX :
+ Gaussian kernel standard deviation in X direction.
+ sigmaY :
+ Gaussian kernel standard deviation in Y direction;
+ border_type :
+ border mode used to extrapolate pixels outside of the image.
+
+
+
+
+ Description
+
+This function can be used for blurring image using gaussian filter. Image can be of any depth and have any no of channels.
+
+
+For sigmaX and sigmaY : if sigmaY is zero, it is set to be equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height , respectively.
+
+
+border_type can be :
+
+BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_Blur, CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_GetImgSize.xml b/help/en_US/CV_GetImgSize.xml
new file mode 100644
index 0000000..717c808
--- /dev/null
+++ b/help/en_US/CV_GetImgSize.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+ CV_GetImgSize
+ function to get size of the image (width*height)
+
+
+
+
+ Calling Sequence
+
+ CV_GetImgSize(img)
+
+
+
+
+
+ Parameters
+
+ img:
+ image whose size is to be returned
+
+
+
+
+ Description
+
+This function can be used for retriving size information of the image.
+It returs an array with first image element as width and second as height
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_LoadImage.xml b/help/en_US/CV_LoadImage.xml
new file mode 100644
index 0000000..70f55c8
--- /dev/null
+++ b/help/en_US/CV_LoadImage.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+ CV_LoadImage
+ function to load an image object from given filename
+
+
+
+
+ Calling Sequence
+
+ CV_LoadImage(filename,loadtype)
+
+
+
+
+
+ Parameters
+
+ filename:
+ name of file to be opened
+ loadtype:
+ desired load method
+
+
+
+
+ Description
+
+This function can be used for loading a previously stored image
+
+
+loadtype can take the following values:
+
+ less than 0 -> image is loaded as is (with alpha channel)
+ 0 -> image is loaded as greyscale
+ greater than 0 -> 3 channel color image is loaded
+
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_MedianBlur.xml b/help/en_US/CV_MedianBlur.xml
new file mode 100644
index 0000000..d10291c
--- /dev/null
+++ b/help/en_US/CV_MedianBlur.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+ CV_MedianBlur
+ function to blur image using median filter
+
+
+
+
+ Calling Sequence
+
+ cvtimg = CV_MedianBlur(srcimg,ksize)
+
+
+
+
+
+ Parameters
+
+ srcimg :
+ input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U.
+ ksize_width :
+ aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...
+
+
+
+
+ Description
+
+This function can be used for blurring image using median
+filter. Image can be of any depth and have any no of channels.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_Blur, CV_CvtColor
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_SaveImage.xml b/help/en_US/CV_SaveImage.xml
new file mode 100644
index 0000000..9e73200
--- /dev/null
+++ b/help/en_US/CV_SaveImage.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+ CV_SaveImage
+ function to save an image object as a given filename
+
+
+
+
+ Calling Sequence
+
+ CV_SaveImage(filename,img)
+
+
+
+
+
+ Parameters
+
+ filename:
+ name of file image to be saved as
+ img:
+ image to be saved
+
+
+
+
+ Description
+
+This function can be used for saving image. File format is detected
+from file extension
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_ShowImage.xml b/help/en_US/CV_ShowImage.xml
new file mode 100644
index 0000000..e3f6e67
--- /dev/null
+++ b/help/en_US/CV_ShowImage.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+ CV_ShowImage
+ function to show an image
+
+
+
+
+ Calling Sequence
+
+ CV_ShowImage(img)
+ CV_ShowImage(winname,img)
+
+
+
+
+
+ Parameters
+
+ winname:
+ name of window in which img is to be shown
+ img:
+ image to be shown already acquired (from file/camera)
+
+
+
+
+ Description
+
+This function can be used for showing images
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_LoadImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_Threshold.xml b/help/en_US/CV_Threshold.xml
new file mode 100644
index 0000000..0de0c14
--- /dev/null
+++ b/help/en_US/CV_Threshold.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+ CV_Threshold
+ function to threshold input image
+
+
+
+
+ Calling Sequence
+
+ dst = CV_Threshold(srcimg,code,threshold,max_value,thresh_type)
+
+
+
+
+
+ Parameters
+
+ srcimg:
+ source image to be converted
+ threshold:
+ threshold value
+ max_value:
+ maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV
+ thresh_type:
+ Type for threshold. It can one of the following: THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV
+
+
+
+
+ Description
+
+This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_CreateImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/CV_WaitKey.xml b/help/en_US/CV_WaitKey.xml
new file mode 100644
index 0000000..9b52707
--- /dev/null
+++ b/help/en_US/CV_WaitKey.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+ CV_WaitKey
+ function similar to cvWaitKey
+
+
+
+
+ Calling Sequence
+
+ CV_WaitKey(delay)
+
+
+
+
+
+ Parameters
+
+ delay:
+ waiting delay, if 0 then wait till keypress
+
+
+
+
+ Description
+
+This function can be used for inseting some delay. This function must
+follow CV_ShowImage to display image.
+
+
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+
+
+
+
+ Examples
+
+
+
+
+ See also
+
+ CV_ShowImage
+
+
+
+
+ Authors
+
+ Siddhesh Wani
+
+
+
diff --git a/help/en_US/build_help.sce b/help/en_US/build_help.sce
new file mode 100644
index 0000000..7065316
--- /dev/null
+++ b/help/en_US/build_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce"));
diff --git a/help/en_US/master_help.xml b/help/en_US/master_help.xml
new file mode 100644
index 0000000..b0fcaa9
--- /dev/null
+++ b/help/en_US/master_help.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+ Scilab 2 C Converter
+
+
+
+Scilab 2 C Converter
+&aa4e59f7469f5c11e672d1768d80a313d;
+&a1d994fb4d945fae4acb80d6fd8333004;
+&add09de2a95b7ed306a35b53e980b3e90;
+&a4397b185ae2cdc0c38ee5cba453da0ce;
+&a9c63c170d4525ca69b76e029a661bdb5;
+&ae7cda6368a6b43939f00b5e4518c86f5;
+&a978254b6f95f67857b984f6f47acbeef;
+&a12d6e3990c9535a9a7a263a728194c65;
+&a00a988928aa4270555daad63bcb690cb;
+&a539c26defb9f05463d0ce5459f1c7583;
+&a3288ef52e1705d6634e93a5e55a31bf2;
+&a3548111a692116d8ee0eae34f799d72d;
+&a9a959f18ddee333a1267e4872a779d22;
+&aa92c26a5cba43827d64cdc489ae63ca5;
+&a66fa288c2ad2c1a24e70cb036732ffff;
+&aa505640044f2558f671950211dfbb695;
+&aace75f8933c6ccb6a7bd24b19b784e3f;
+&a8fc216f2dfd8eee80f14d174785b7bc0;
+&a4edea9b44935b3180889f99e5370aee4;
+&aff5fbeafa9733aeb2a9b23c1aacb4631;
+&a68325bb85314e1d5ec89869069c8445e;
+&ad3dd56a5d5a76d73636a583751902602;
+&a0f0d979abe457bb6a40d2a542732bf10;
+&a9f22418ecd71f71eed44a456b8635ddb;
+&a3d8fa68e94f2bf78571ec1c132cbf30d;
+&ae280e09f59dc55502a391472a5e3c6a7;
+&a34ae20f1c7b1a6aba4cfe28cb8458f4e;
+&ae55c9b2aa4e91cd219c5ca2b997898b4;
+&ac8a5edd3c9c9a7f196e5dbb50d6a35a2;
+&ab2cca98b6ef2f0dc8983fab762ad7764;
+&ab1553393fdffa9c613547bc6be1fff3d;
+&abf0582be77e4c6c254d484f146797055;
+&a709b81dcd97f499cf0d5ea132d4a8316;
+&a61a3e5beb0f5d7654a142e2723b448fb;
+&abba952c5250821630096b30b2ec5021f;
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRADCSetup.html b/help/en_US/scilab_en_US_help/AVRADCSetup.html
new file mode 100644
index 0000000..54d6a64
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRADCSetup.html
@@ -0,0 +1,88 @@
+
+
+ AVRADCSetup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRADCSetup
+
+
+ AVRADCSetup
+
Function to initialise ADC of AVR
+
+
+Calling Sequence
+
AVRADCSetup ( uint8 prescaler , uint8 adc_ref )
+
+Parameters
+
prescaler:
+ prescaler to be used for generating ADC clock (0-7)
+ adc_ref :
+ reference voltage to be used for ADC conversion
+
+Description
+
This function initialises ADc of AVR with given parameters. 'prescaler' is needed for deciding ADC clock. ADC clock should be between 50KHz and 200KHz and it given as (MCU clock/2^prescaler). Select appropriate prescaler depending on MCU clock. 'adc_ref' selects one of the available reference voltage sources available.
+
The adc_ref can take the following values-
+
+
This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+
+
+Examples
+
AVRADCSetup ( 128 , 0 )
+
+
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRDigitalIn.html b/help/en_US/scilab_en_US_help/AVRDigitalIn.html
new file mode 100644
index 0000000..a1f6eb0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalIn.html
@@ -0,0 +1,88 @@
+
+
+ AVRDigitalIn
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRDigitalIn
+
+
+ AVRDigitalIn
+
Function to get state (high\low) of a digital input pin on AVR
+
+
+Calling Sequence
+
state = AVRDigitalIn ( port , pin )
+
+Parameters
+
port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+
+Description
+
Each AVR microcontroller has pins which can be configured as digital
+inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port as
+digital input.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
pinA0 = AVRDigitalIn ( 1 , 0 )
+
+
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRDigitalOut.html b/help/en_US/scilab_en_US_help/AVRDigitalOut.html
new file mode 100644
index 0000000..0219f8c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalOut.html
@@ -0,0 +1,91 @@
+
+
+ AVRDigitalOut
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRDigitalOut
+
+
+ AVRDigitalOut
+
Function to change state (high\low) of a digital output pin on AVR
+
+
+Calling Sequence
+
AVRDigitalOut ( port , pin , state )
+
+Parameters
+
port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+ state :
+ state to be outputed on pin (HIGH\LOW)
+
+Description
+
Each AVR microcontroller has pins which can be configured as digital
+outputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port as
+digital output. Also, desired output state must be specified as
+'HIGH' or 'LOW'.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRDigitalOut ( ' A ' , 0 , HIGH )
+
+
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html b/help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html
new file mode 100644
index 0000000..a5b8c2d
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html
@@ -0,0 +1,89 @@
+
+
+ AVRDigitalPortSetup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRDigitalPortSetup
+
+
+ AVRDigitalPortSetup
+
Function to decide direction of port on AVR
+
+
+Calling Sequence
+
AVRDigitalPortSetup ( port , direction )
+
+Parameters
+
port :
+ port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)
+ direction :
+ direction to be set for pin (0 for INPUT, 1 for OUTPUT)
+
+Description
+
Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port to be
+used as digital output/input. Also, desired direction must be specified as
+'INPUT' or 'OUTPUT'.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRDigitalPortSetup ( 1 , 0 ) ;
+
+
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRDigitalSetup.html b/help/en_US/scilab_en_US_help/AVRDigitalSetup.html
new file mode 100644
index 0000000..b2048ad
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalSetup.html
@@ -0,0 +1,91 @@
+
+
+ AVRDigitalSetup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRDigitalSetup
+
+
+ AVRDigitalSetup
+
Function to decide direction of a digital pin on AVR
+
+
+Calling Sequence
+
AVRDigitalSetup ( port , pin , direction )
+
+Parameters
+
port :
+ port of microcontroller to be used
+ pin :
+ pin of port (mentioned above) to be used
+ direction :
+ direction to be set for pin (INPUT\OUTPUT)
+
+Description
+
Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some 'ports' (group of pins).
+User has to select one of these port and which pin of that port to be
+used as digital output/input. Also, desired direction must be specified as
+'INPUT' or 'OUTPUT'.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRDigitalSetup ( ' A ' , 0 , OUTPUT )
+
+
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRGetTimerValue.html b/help/en_US/scilab_en_US_help/AVRGetTimerValue.html
new file mode 100644
index 0000000..1ca3642
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRGetTimerValue.html
@@ -0,0 +1,83 @@
+
+
+ AVRGetTimerValue
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRGetTimerValue
+
+
+ AVRGetTimerValue
+
Function to get timer count
+
+
+Parameters
+
timer :
+ timer whose current count is to be returned
+
+Description
+
This function returns the count value of a desired timer.By knowing the count value certain interrupt action can be taken.
+
Timer can take the following values
+
0 -> for timer0
+1 -> for timer1
+2 -> for timer2
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRGetTimerValue ( 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html b/help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html
new file mode 100644
index 0000000..5657473
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html
@@ -0,0 +1,80 @@
+
+
+ AVRPWM0SetDuty
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM0SetDuty
+
+
+ AVRPWM0SetDuty
+
Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+Parameters
+
duty :
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+
+Description
+
Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.In this function by varying the duty cycle, varying voltage can be produced.
+
This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+
+
+Examples
+
AVRPWM0SetDuty ( 50 ) ;
+AVRPWM0SetDuty ( 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM0Setup.html b/help/en_US/scilab_en_US_help/AVRPWM0Setup.html
new file mode 100644
index 0000000..2343202
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM0Setup.html
@@ -0,0 +1,98 @@
+
+
+ AVRPWM0Setup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM0Setup
+
+
+ AVRPWM0Setup
+
Function to Setup OC0 pin for required PWM mode
+
+
+Parameters
+
waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+
+Description
+
Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC0 pin to produce required
+output waveform by setting the waveform mode and otput mode.
+
waveform_mode can take values-
+
+
output_mode can take values-
+
For Phase correct PWM Mode:
+0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.
+1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.
+1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.
+For CTC Mode:
+0 to Clear OC0 on compare match
+1 to Set OC0 on compare match
+2 to toggle OC0 on compare match
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRPWM0Setup ( 2 , 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html b/help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html
new file mode 100644
index 0000000..3a5adda
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html
@@ -0,0 +1,83 @@
+
+
+ AVRPWM1SetDuty
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM1SetDuty
+
+
+ AVRPWM1SetDuty
+
Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+Parameters
+
ouput_pin:
+ integer, 0 (for OC1A) or 1 (for OC1B)
+ duty:
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+ Top_Value:
+ It holds an integer value from 0 to 65535.This value sets the Top value of the counter TCNT1 i.e ICR.(for more info refer datasheet)
+
+Description
+
Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.This function Sets the duty cycle of output PWM signal.Also this function
+decides the Top Vale of TCNT1 and the output pin to output PWM signal.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
Example
+AVRPWM1SetDuty(0,50,40000); //This function will produce PWM signal of 50% duty cycle on OC1A pin and TCNT1 will reset at 40000 instead at 65535.
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM1Setup.html b/help/en_US/scilab_en_US_help/AVRPWM1Setup.html
new file mode 100644
index 0000000..94e3929
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM1Setup.html
@@ -0,0 +1,100 @@
+
+
+ AVRPWM1Setup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM1Setup
+
+
+ AVRPWM1Setup
+
Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+Parameters
+
waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+ output_pin:
+ 0 (for OC1A) or 1 for (OC1B)
+
+Description
+
Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC1A or OC1B pin to produces required
+output waveform by setting the waveform mode and otput mode.
+
waveform_mode can take values-
+
+
output_mode can take values-
+
For Phase correct PWM Mode:
+0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.
+1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.
+1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.
+For CTC Mode:
+0 to Clear OC1A or OC1B on compare match
+1 to Set OC1A or OC1B on compare match
+2 to toggle OC1A or OC1B on compare match
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
Example
+AVRPWM1Setup(2,0,0); //This function will select CTC mode and will clear OC1A or OC1B
+on compare match.Also as defined the output will be produced at
+0C1A pin.
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html b/help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html
new file mode 100644
index 0000000..ade4fa2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html
@@ -0,0 +1,81 @@
+
+
+ AVRPWM2SetDuty
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM2SetDuty
+
+
+ AVRPWM2SetDuty
+
Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+Parameters
+
duty :
+ It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+
+Description
+
Each Micro controller has PWM output pins which can generate varying voltage
+from 0V-5V.In this function by varying the duty cycle, varying voltage can be
+produced.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
Example
+AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
+AVRPWM2SetDuty(0); //Produces 0V at OC2 pin
+
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRPWM2Setup.html b/help/en_US/scilab_en_US_help/AVRPWM2Setup.html
new file mode 100644
index 0000000..139693a
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM2Setup.html
@@ -0,0 +1,97 @@
+
+
+ AVRPWM2Setup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRPWM2Setup
+
+
+ AVRPWM2Setup
+
Function to Setup OC2 pin for required PWM mode
+
+
+Parameters
+
waveform_mode:
+ integer, from 0 to 2
+ output_mode:
+ integer, from 0 to 1 (or 2) depending on the waveform_mode
+
+Description
+
Every Micro controller has PWM pins which can generate varying voltages
+from 0V-5V.This function helps to use OC2 pin to produces required
+output waveform by setting the waveform mode and otput mode.
+
waveform_mode can take values-
+
+
output_mode can take values-
+
For Phase correct PWM Mode:
+0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.
+1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.
+For Fast PWM Mode:
+0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.
+1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.
+For CTC Mode:
+0 to Clear OC2 on compare match
+1 to Set OC2 on compare match
+2 to toggle OC2 on compare match
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
Example
+AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
+compare match
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRReadADC.html b/help/en_US/scilab_en_US_help/AVRReadADC.html
new file mode 100644
index 0000000..47488b0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRReadADC.html
@@ -0,0 +1,84 @@
+
+
+ AVRReadADC
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRReadADC
+
+
+ AVRReadADC
+
Function to get voltage on analog pin on AVR
+
+
+
+
+Parameters
+
channel :
+ Select which channel is to be read. Values from 0-7 select one of the pins ADC0-ADC7. For other possible channel values refer datasheet
+
+Description
+
This function returns digital value for present on adc pins. 'channel'
+selects which of the ADC0-ADC7 is to be used for reading analog value.
+Apart from reading just ADC0-ADC7 other it can also read differential
+voltages between some pins. For channel values for those options, please
+refer datasheet.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
adc_result = u8AVRReadADC ( 0 )
+
+Authors
+
Siddhesh Wani
+ Ashish Kamble
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRSleep.html b/help/en_US/scilab_en_US_help/AVRSleep.html
new file mode 100644
index 0000000..b491c96
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRSleep.html
@@ -0,0 +1,75 @@
+
+
+ AVRSleep
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRSleep
+
+
+ AVRSleep
+
Function to pause the execution for the given time.
+
+
+Description
+
This function causes the execution to stop for the given amount of time.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRSleep ( 5000 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRTimerSetup.html b/help/en_US/scilab_en_US_help/AVRTimerSetup.html
new file mode 100644
index 0000000..a815093
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRTimerSetup.html
@@ -0,0 +1,66 @@
+
+
+ AVRTimerSetup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRTimerSetup
+
+
+ AVRTimerSetup
+
Function to setup Timers in ATmega16
+
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRUARTReceive.html b/help/en_US/scilab_en_US_help/AVRUARTReceive.html
new file mode 100644
index 0000000..47e683a
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTReceive.html
@@ -0,0 +1,77 @@
+
+
+ AVRUARTReceive
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRUARTReceive
+
+
+ AVRUARTReceive
+
Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+Description
+
This function Receives Char as 8 bit value.This value is stored in UDR at receiving
+end.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
state = AVRUARTReceive ( ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRUARTSetup.html b/help/en_US/scilab_en_US_help/AVRUARTSetup.html
new file mode 100644
index 0000000..c8adca4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTSetup.html
@@ -0,0 +1,96 @@
+
+
+ AVRUARTSetup
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRUARTSetup
+
+
+ AVRUARTSetup
+
Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+Parameters
+
mode :
+ integer, from 0 to 2
+ baudrate :
+ Enter one of the following available baudrates (2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 , 768000 , 115200 , 230400 , 250000 , 1000000)
+ stopbits :
+ integer, (0 for one stopbit) or (1 for two stopbits)
+ parity :
+ integer, from 0 to 2
+
+Description
+
This function Setup the UART or USART for Serial Communicaion between ATmega16
+and different micro controllers or between ATmega16 and Computer.
+
mode can take values:
+
+
parity can take values:
+
0 for parity disabled
+1 for even parity
+2 for odd parity
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRUARTSetup ( 0 , 9600 , 0 , 0 ) ;
+with 9600 as baudrate , one stop bit and parity disabled
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/AVRUARTTransmit.html b/help/en_US/scilab_en_US_help/AVRUARTTransmit.html
new file mode 100644
index 0000000..36ce625
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTTransmit.html
@@ -0,0 +1,77 @@
+
+
+ AVRUARTTransmit
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > AVRUARTTransmit
+
+
+ AVRUARTTransmit
+
Function to Transmit data using UART or USART.
+
+
+Description
+
This function Tranmits data over UART or USART.The data to be transmitted can
+be a Char , String , Unsigned Int, Signed Int.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+
+
+Examples
+
AVRUARTTransmit ( " This is example " ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html b/help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html
new file mode 100644
index 0000000..b3e5a63
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html
@@ -0,0 +1,94 @@
+
+
+ CV_AdaptiveThreshold
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_AdaptiveThreshold
+
+
+ CV_AdaptiveThreshold
+
function to adaptively threshold input image
+
+
+Calling Sequence
+
dst = CV_AdaptiveThreshold ( srcimg , max_value , adaptive_method , thresh_type , blk_size , c )
+
+Parameters
+
src :
+ Source 8-bit single-channel image.
+ max_value :
+ Non-zero value assigned to the pixels for which the condition is satisfied. See the details below.
+ adaptive_method :
+ Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .
+ thresh_type :
+ Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV .
+ blockSize :
+ Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.
+ C :
+ Constant subtracted from the mean or weighted mean.Normally, it is positive but may be zero or negative as well.
+
+Description
+
This function can be used for adaptively threshold given image
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_AdaptiveThreshold(img , 255 , " ADAPTIVE_THRESH_MEAN_C " , ...
+" THRESH_BINARY " , 5 , 0 )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_Blur.html b/help/en_US/scilab_en_US_help/CV_Blur.html
new file mode 100644
index 0000000..1dbcc5b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Blur.html
@@ -0,0 +1,96 @@
+
+
+ CV_Blur
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_Blur
+
+
+ CV_Blur
+
function to blur image using normalised box filter
+
+
+Calling Sequence
+
dst = CV_Blur ( srcimg , ksize_width , ksize_height , anchor_x , anchor_y , border_type )
+
+Parameters
+
srcimg :
+ Source image.
+ ksize_width, ksize_height :
+ blurring kernel size.
+ anchor_x, anchor_y :
+ x,y coordinates of anchor point
+ border_type :
+ border mode used to extrapolate pixels outside of the image.
+
+Description
+
This function can be used for blurring image using normalised box
+filter. Image can be of any depth and have any no of channels.
+
border_type can be :
+
BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_Blur(img , 3 , 3 , - 1 , - 1 , " BORDER_CONSTANT " )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_Canny.html b/help/en_US/scilab_en_US_help/CV_Canny.html
new file mode 100644
index 0000000..dbf3ffc
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Canny.html
@@ -0,0 +1,95 @@
+
+
+ CV_Canny
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_Canny
+
+
+ CV_Canny
+
Finds edges in image using Canny algorithm
+
+
+Calling Sequence
+
edges = CV_Canny ( srcimg , threhold1 , threshold2 , aperture_size , L2gradient )
+
+Parameters
+
srcimg :
+ single-channel 8-bit input image.
+ threshold1 :
+ first threshold for the hysteresis procedure.
+ threshold2 :
+ second threshold for the hysteresis procedure.
+ aperture_size :
+ aperture size for the Sobel() operator.
+ L2gradient :
+ a flag, indicating whether a more accurate
+
+Description
+
This function can be used for finding edes in single channel 8 bit
+image. 'aperture_size' and 'L2gradient' are optionals. By default,
+aperture_size is 3 and L2gradient is false.
+
For L2gradient: L_2 norm =sqrt{(dI/dx)^2 + (dI/dy)^2} should be used to calculate the image gradient magnitude (L2gradient=1 ), or whether the default L_1 norm =|dI/dx|+|dI/dy| is enough (L2gradient=0).
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_CvtColor(img , " CV_RGB2GRAY " ) ;
+edge = CV_Canny ( dst , 50 , 100 , 3 , 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_CornerHarris.html b/help/en_US/scilab_en_US_help/CV_CornerHarris.html
new file mode 100644
index 0000000..453169f
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CornerHarris.html
@@ -0,0 +1,98 @@
+
+
+ CV_CornerHarris
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_CornerHarris
+
+
+ CV_CornerHarris
+
Finds edges in image using Harris algorithm
+
+
+Calling Sequence
+
edges = CV_CornerHarris ( srcimg , blocksize , ksize , k , border_type )
+
+Parameters
+
srcimg:
+ Input single-channel 8-bit or floating-point image.
+ blockSize:
+ Neighborhood size
+ ksize:
+ Aperture parameter for the Sobel() operator.
+ k:
+ Harris detector free parameter.
+ border_type:
+ border mode used to extrapolate pixels outside of the image.
+
+Description
+
The function runs the Harris edge detector on the image. For each pixel (x, y) it calculates a 2 * 2 gradient covariance matrix M(x,y) over a blockSize * blockSize neighborhood. Then, it computes the following characteristic: dst(x,y) = det(M(x,y)) - k .tr(M(x,y))^2. Corners in the image can be found as the local maxima of this response map.
+
border_type can be :
+
BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_CvtColor(img , " CV_RGB2GRAY " ) ;
+edge = CV_CornerHarris ( dst , 5 , 3 , 1 , " BORDER_REPLICATE " ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_CreateImage.html b/help/en_US/scilab_en_US_help/CV_CreateImage.html
new file mode 100644
index 0000000..6e27eeb
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CreateImage.html
@@ -0,0 +1,85 @@
+
+
+ CV_CreateImage
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_CreateImage
+
+
+ CV_CreateImage
+
function to create an image object of given size and type
+
+
+Calling Sequence
+
CV_CreateImage ( image_size , bit_depth , no_of_channels )
+
+Parameters
+
image_size:
+ width and height of image
+ bit_depth:
+ Bit depth of image elements
+ no_of_channels:
+ no of channels per pixels
+
+Description
+
This function can be used to create opencv image object. For more info about bit depth and channels,please refer to OpenCV documentation
+
This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for OpenCV
+
+
+Examples
+
CV_CreateImage ( [ 320 240 ] , " IPL_DEPTH_8U " , 1 )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_CvtColor.html b/help/en_US/scilab_en_US_help/CV_CvtColor.html
new file mode 100644
index 0000000..43c27c9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CvtColor.html
@@ -0,0 +1,90 @@
+
+
+ CV_CvtColor
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_CvtColor
+
+
+ CV_CvtColor
+
function to convert image from one colorspace to other colorspace
+
+
+
+
+Parameters
+
srcimg:
+ source image to be converted
+ dstimg:
+ destination image in which to store converted image
+ code:
+ String specifying conversion type. Same as defined in OpenCV. for eg. 'CV_RGB2GRAY' for conversion from RGB image to grayscale image
+ dstCn:
+ no of channels in destination image (0 by default)
+
+Description
+
This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_CvtColor(img , ' CV_RGB2GRAY ' )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_Dilate.html b/help/en_US/scilab_en_US_help/CV_Dilate.html
new file mode 100644
index 0000000..f93f7ce
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Dilate.html
@@ -0,0 +1,99 @@
+
+
+ CV_Dilate
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_Dilate
+
+
+ CV_Dilate
+
dilates an image by using a specific structuring element.
+
+
+Calling Sequence
+
cvtimg = CV_Dilate ( srcimg , dilation_type , dilation_size ,[ iterations , border_type , border_value ])
+
+Parameters
+
src :
+ input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+ dilation_type :
+ can be one of MORPH_RECT, MORPH_CROSS,MORPH_ELLIPSE
+ dilation_size :
+ size of kernel to be used for erosion. Must be odd
+ iterations :
+ number of times erosion is applied.
+ border_type :
+ pixel extrapolation method.
+ border_value :
+ border value in case of a constant border
+
+Description
+
This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+
border_type can be :
+
BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_Erode(img , " MORPH_RECT " , 3 , 1 , " BORDER_CONSTANT " , 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_DistanceTransform.html b/help/en_US/scilab_en_US_help/CV_DistanceTransform.html
new file mode 100644
index 0000000..584fe1d
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_DistanceTransform.html
@@ -0,0 +1,87 @@
+
+
+ CV_DistanceTransform
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_DistanceTransform
+
+
+ CV_DistanceTransform
+
function to calculate distance to closest zero pixels for each pixel
+
+
+Calling Sequence
+
dst = CV_DistanceTransform ( srcimg , distance_type , mask_size )
+
+Parameters
+
srcimg :
+ Source 8-bit single-channel image.
+ distance_type :
+ Type of distance. It can be CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C
+ mask_size :
+ Size of the distance transform mask
+
+Description
+
This function can be used to calculate distance to closest zero pixel for each pixel of the source image. Output is 32 bit floatingpoint, single channel image of the same size as that of source image.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_DistanceTransform(img , " CV_DIST_L1 " , 3 )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_Erode.html b/help/en_US/scilab_en_US_help/CV_Erode.html
new file mode 100644
index 0000000..921f2f9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Erode.html
@@ -0,0 +1,99 @@
+
+
+ CV_Erode
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_Erode
+
+
+ CV_Erode
+
Erodes an image by using a specific structuring element.
+
+
+Calling Sequence
+
cvtimg = CV_Erode ( srcimg , erosion_type , erosion_size ,[ iterations , border_type , border_value ])
+
+Parameters
+
src :
+ input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+ erosion_type :
+ can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE
+ erosion_size :
+ size of kernel to be used for erosion. Must be odd
+ iterations :
+ number of times erosion is applied.
+ border_type :
+ pixel extrapolation method.
+ border_value :
+ border value in case of a constant border
+
+Description
+
This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+
border_type can be :
+
BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_Erode(img , " MORPH_RECT " , 3 , 1 , " BORDER_CONSTANT " , 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_GaussianBlur.html b/help/en_US/scilab_en_US_help/CV_GaussianBlur.html
new file mode 100644
index 0000000..a5de798
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_GaussianBlur.html
@@ -0,0 +1,98 @@
+
+
+ CV_GaussianBlur
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_GaussianBlur
+
+
+ CV_GaussianBlur
+
function to blur image using gaussian filter
+
+
+Calling Sequence
+
cvtimg = CV_GaussianBlur ( srcimg , ksize_width , ksize_height , sigma_x , sigma_y , border_type )
+
+Parameters
+
srcimg :
+ Source image.
+ ksize_width, ksize_height :
+ blurring kernel size. must be odd.
+ sigmaX :
+ Gaussian kernel standard deviation in X direction.
+ sigmaY :
+ Gaussian kernel standard deviation in Y direction;
+ border_type :
+ border mode used to extrapolate pixels outside of the image.
+
+Description
+
This function can be used for blurring image using gaussian filter. Image can be of any depth and have any no of channels.
+
For sigmaX and sigmaY : if sigmaY is zero, it is set to be equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height , respectively.
+
border_type can be :
+
BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_GaussianBlur(img , 3 , 3 , 0 , 0 , " BORDER_CONSTANT " )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_GetImgSize.html b/help/en_US/scilab_en_US_help/CV_GetImgSize.html
new file mode 100644
index 0000000..4d610c3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_GetImgSize.html
@@ -0,0 +1,84 @@
+
+
+ CV_GetImgSize
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_GetImgSize
+
+
+ CV_GetImgSize
+
function to get size of the image (width*height)
+
+
+
+
+Parameters
+
img:
+ image whose size is to be returned
+
+Description
+
This function can be used for retriving size information of the image.
+It returs an array with first image element as width and second as height
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+size = CV_GetImgSize(img)
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_LoadImage.html b/help/en_US/scilab_en_US_help/CV_LoadImage.html
new file mode 100644
index 0000000..1d4a81b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_LoadImage.html
@@ -0,0 +1,88 @@
+
+
+ CV_LoadImage
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_LoadImage
+
+
+ CV_LoadImage
+
function to load an image object from given filename
+
+
+Calling Sequence
+
CV_LoadImage ( filename , loadtype )
+
+Parameters
+
filename:
+ name of file to be opened
+ loadtype:
+ desired load method
+
+Description
+
This function can be used for loading a previously stored image
+
loadtype can take the following values:
+
less than 0 -> image is loaded as is (with alpha channel)
+0 -> image is loaded as greyscale
+greater than 0 -> 3 channel color image is loaded
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
CV_LoadImage ( ' ~/test.jpg ' , 0 )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_MedianBlur.html b/help/en_US/scilab_en_US_help/CV_MedianBlur.html
new file mode 100644
index 0000000..276055b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_MedianBlur.html
@@ -0,0 +1,86 @@
+
+
+ CV_MedianBlur
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_MedianBlur
+
+
+ CV_MedianBlur
+
function to blur image using median filter
+
+
+Calling Sequence
+
cvtimg = CV_MedianBlur ( srcimg , ksize )
+
+Parameters
+
srcimg :
+ input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U.
+ ksize_width :
+ aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...
+
+Description
+
This function can be used for blurring image using median
+filter. Image can be of any depth and have any no of channels.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_MedianBlur(img , 3 )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_SaveImage.html b/help/en_US/scilab_en_US_help/CV_SaveImage.html
new file mode 100644
index 0000000..02336d2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_SaveImage.html
@@ -0,0 +1,86 @@
+
+
+ CV_SaveImage
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_SaveImage
+
+
+ CV_SaveImage
+
function to save an image object as a given filename
+
+
+Calling Sequence
+
CV_SaveImage ( filename , img )
+
+Parameters
+
filename:
+ name of file image to be saved as
+ img:
+ image to be saved
+
+Description
+
This function can be used for saving image. File format is detected
+from file extension
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+CV_SaveImage ( ' test1.png ' , img )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_ShowImage.html b/help/en_US/scilab_en_US_help/CV_ShowImage.html
new file mode 100644
index 0000000..3fa3cb9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_ShowImage.html
@@ -0,0 +1,86 @@
+
+
+ CV_ShowImage
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_ShowImage
+
+
+ CV_ShowImage
+
function to show an image
+
+
+Calling Sequence
+
CV_ShowImage ( img )
+CV_ShowImage ( winname , img )
+
+Parameters
+
winname:
+ name of window in which img is to be shown
+ img:
+ image to be shown already acquired (from file/camera)
+
+Description
+
This function can be used for showing images
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+CV_ShowImage ( img )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_Threshold.html b/help/en_US/scilab_en_US_help/CV_Threshold.html
new file mode 100644
index 0000000..ae0ad86
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Threshold.html
@@ -0,0 +1,90 @@
+
+
+ CV_Threshold
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_Threshold
+
+
+ CV_Threshold
+
function to threshold input image
+
+
+Calling Sequence
+
dst = CV_Threshold ( srcimg , code , threshold , max_value , thresh_type )
+
+Parameters
+
srcimg:
+ source image to be converted
+ threshold:
+ threshold value
+ max_value:
+ maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV
+ thresh_type:
+ Type for threshold. It can one of the following: THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV
+
+Description
+
This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+dst = CV_Threshold(img , 100 , 255 , ' THRESH_BINARY ' )
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/CV_WaitKey.html b/help/en_US/scilab_en_US_help/CV_WaitKey.html
new file mode 100644
index 0000000..42dc813
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_WaitKey.html
@@ -0,0 +1,83 @@
+
+
+ CV_WaitKey
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter > CV_WaitKey
+
+
+ CV_WaitKey
+
function similar to cvWaitKey
+
+
+
+
+Parameters
+
delay:
+ waiting delay, if 0 then wait till keypress
+
+Description
+
This function can be used for inseting some delay. This function must
+follow CV_ShowImage to display image.
+
This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+
+
+Examples
+
img = CV_LoadImage ( ' ~/test.jpg ' , 0 )
+CV_ShowImage ( ' ' , img )
+CV_WaitKey ( 0 ) ;
+
+
+
+
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
new file mode 100644
index 0000000..adfdf40
Binary files /dev/null and b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
new file mode 100644
index 0000000..70fdaa9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
@@ -0,0 +1,2 @@
+eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÝÿÿÿÿÿ÷_ÿý×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿ÷_ÿÿÿ÷_ÿÿÿüÂÝÿÝÿÿÿÿÿÿÿÝÿÿÿÝÿÿÿÿÝüÒw_ÿý×ÿ}÷_ÿÿÿÿÿÿuÝ]]ÿÿüÒ×ÿuÿÿ0Ÿÿÿÿÿ÷_ÿuÿÿuÿÿÿÿÝÿüÒÿÿÿÿÐ8r¢¨eU†ñt.4t‘V‡Œ(sŠs8HÁ¤HtHhPªÌ(â*‡a!¡(tJ7ÿÿÿñßÿ¿É4–$Rq£|¼ÊíFEц…9«•–ñ‘A‘A±Gª®ŸJ(üj—*³
+5±*7Ê4£ŒË¨Æ.Ž—rº£•®]åj©vªª×iXdU©w]•¹v\hZ—Ú—iYYZVWW—(ª0ª4º»ê/0³:©Ò™+ÝJª¾ú.ªªªªª0ªª¨ÒŒ(Þ¢¨Â¼ÚŠ2¨ªëªê¾«óóÿÿóK0¿ÿÿóÿÿüÂÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÌ/ÿÿüÂÿÿÿÿÿÿÿÿÿÿ`
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
new file mode 100644
index 0000000..6825d91
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
@@ -0,0 +1,3 @@
+„`Dñ3ÛMr3Ma¢ÆEN*†m¦:~–I2Š:l‡Š¬Öè€6,—‰}ãLöK–$4a.
ŽAiYfŒÆ÷âÌdªéÜÌ7QÊý¥ò˜y£
+¶<ŒöC™`0?Y9¹*¶¯òŒEOÌ›ŠT£ê
+\êý}~aTgà©A¡èÝäÀ…i€
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
new file mode 100644
index 0000000..e759693
Binary files /dev/null and b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
new file mode 100644
index 0000000..a427273
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
@@ -0,0 +1,2 @@
+JavaSearch 1.0
+TMAP bs=2048 rt=1 fl=-1 id1=731 id2=1
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
new file mode 100644
index 0000000..61c50b4
Binary files /dev/null and b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP differ
diff --git a/help/en_US/scilab_en_US_help/ScilabCaution.png b/help/en_US/scilab_en_US_help/ScilabCaution.png
new file mode 100644
index 0000000..231159a
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabCaution.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabEdit.png b/help/en_US/scilab_en_US_help/ScilabEdit.png
new file mode 100644
index 0000000..ff0cca7
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabEdit.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabExecute.png b/help/en_US/scilab_en_US_help/ScilabExecute.png
new file mode 100644
index 0000000..4acd4b9
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabExecute.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabImportant.png b/help/en_US/scilab_en_US_help/ScilabImportant.png
new file mode 100644
index 0000000..73931b2
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabImportant.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabNote.png b/help/en_US/scilab_en_US_help/ScilabNote.png
new file mode 100644
index 0000000..6607ece
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabNote.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabTip.png b/help/en_US/scilab_en_US_help/ScilabTip.png
new file mode 100644
index 0000000..6607ece
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabTip.png differ
diff --git a/help/en_US/scilab_en_US_help/ScilabWarning.png b/help/en_US/scilab_en_US_help/ScilabWarning.png
new file mode 100644
index 0000000..231159a
Binary files /dev/null and b/help/en_US/scilab_en_US_help/ScilabWarning.png differ
diff --git a/help/en_US/scilab_en_US_help/c_code.css b/help/en_US/scilab_en_US_help/c_code.css
new file mode 100644
index 0000000..948d2ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/c_code.css
@@ -0,0 +1,54 @@
+.ccomment {
+ font-style: italic;
+ color: #b22222
+}
+
+.cdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.copenclose {
+ font-style: normal;
+ color: #000000
+}
+
+.coperator {
+ font-style: normal;
+ color: #000000
+}
+
+.cstring {
+ font-style: normal;
+ color: #a6557a
+}
+
+.ctype {
+ font-style: normal;
+ color: #55a655
+}
+
+.cpreprocessor {
+ font-style: normal;
+ color: #9965a6
+}
+
+.cid {
+ font-style: normal;
+ color: #000000
+}
+
+.ckeyword {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cmodifier {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cnumber {
+ font-style: normal;
+ color: #008b8b
+}
diff --git a/help/en_US/scilab_en_US_help/index.html b/help/en_US/scilab_en_US_help/index.html
new file mode 100644
index 0000000..55a9600
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/index.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Scilab 2 C Converter
+
+
+Scilab 2 C Converter
+AVRADCSetup — Function to initialise ADC of AVR
+
+
+
+
+
+AVRDigitalIn — Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+
+AVRDigitalOut — Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+
+AVRDigitalPortSetup — Function to decide direction of port on AVR
+
+
+
+
+
+AVRDigitalSetup — Function to decide direction of a digital pin on AVR
+
+
+
+
+
+AVRGetTimerValue — Function to get timer count
+
+
+
+
+
+AVRPWM0SetDuty — Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+
+AVRPWM0Setup — Function to Setup OC0 pin for required PWM mode
+
+
+
+
+
+AVRPWM1SetDuty — Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+
+AVRPWM1Setup — Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+
+AVRPWM2SetDuty — Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+
+AVRPWM2Setup — Function to Setup OC2 pin for required PWM mode
+
+
+
+
+
+AVRReadADC — Function to get voltage on analog pin on AVR
+
+
+
+
+
+AVRSleep — Function to pause the execution for the given time.
+
+
+
+
+
+AVRTimerSetup — Function to setup Timers in ATmega16
+
+
+
+
+
+AVRUARTReceive — Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+
+AVRUARTSetup — Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+
+AVRUARTTransmit — Function to Transmit data using UART or USART.
+
+
+
+
+
+CV_AdaptiveThreshold — function to adaptively threshold input image
+
+
+
+
+
+CV_Blur — function to blur image using normalised box filter
+
+
+
+
+
+CV_Canny — Finds edges in image using Canny algorithm
+
+
+
+
+
+CV_CornerHarris — Finds edges in image using Harris algorithm
+
+
+
+
+
+CV_CreateImage — function to create an image object of given size and type
+
+
+
+
+
+CV_CvtColor — function to convert image from one colorspace to other colorspace
+
+
+
+
+
+CV_Dilate — dilates an image by using a specific structuring element.
+
+
+
+
+
+CV_DistanceTransform — function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+
+CV_Erode — Erodes an image by using a specific structuring element.
+
+
+
+
+
+CV_GaussianBlur — function to blur image using gaussian filter
+
+
+
+
+
+CV_GetImgSize — function to get size of the image (width*height)
+
+
+
+
+
+CV_LoadImage — function to load an image object from given filename
+
+
+
+
+
+CV_MedianBlur — function to blur image using median filter
+
+
+
+
+
+CV_SaveImage — function to save an image object as a given filename
+
+
+
+
+
+CV_ShowImage — function to show an image
+
+
+
+
+
+CV_Threshold — function to threshold input image
+
+
+
+
+
+CV_WaitKey — function similar to cvWaitKey
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/jhelpidx.xml b/help/en_US/scilab_en_US_help/jhelpidx.xml
new file mode 100644
index 0000000..aa5a66e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelpidx.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/jhelpmap.jhm b/help/en_US/scilab_en_US_help/jhelpmap.jhm
new file mode 100644
index 0000000..2466fe3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/jhelpset.hs b/help/en_US/scilab_en_US_help/jhelpset.hs
new file mode 100644
index 0000000..04f9fef
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelpset.hs
@@ -0,0 +1,28 @@
+
+
+
+Scilab 2 C Converter
+
+top
+
+
+
+TOC
+Table Of Contents
+javax.help.TOCView
+jhelptoc.xml
+
+
+Index
+Index
+javax.help.IndexView
+jhelpidx.xml
+
+
+Search
+Search
+javax.help.SearchView
+JavaHelpSearch
+
+
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/jhelptoc.xml b/help/en_US/scilab_en_US_help/jhelptoc.xml
new file mode 100644
index 0000000..912cae2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelptoc.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/scilab_code.css b/help/en_US/scilab_en_US_help/scilab_code.css
new file mode 100644
index 0000000..658f42e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/scilab_code.css
@@ -0,0 +1,96 @@
+.scilabcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.scilabdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabspecial {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.scilabconstants {
+ font-style: normal;
+ color: #da70d6
+}
+
+.scilaboperator {
+ font-style: normal;
+ color: #5c5c5c
+}
+
+.scilabnumber {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabfkeyword {
+ font-style: normal;
+ color: #b01813
+}
+
+.scilabskeyword {
+ font-style: normal;
+ color: #a020f0
+}
+
+.scilabckeyword {
+ font-style: normal;
+ color: #5f9ea0
+}
+
+.scilabcommand {
+ font-style: normal;
+ color: #32b9b9
+}
+
+.scilabmacro {
+ font-style: normal;
+ color: #ae5cb0
+}
+
+a.scilabcommand {
+ font-style: normal;
+ text-decoration: underline;
+ color: #32b9b9
+}
+
+a.scilabmacro {
+ font-style: normal;
+ text-decoration: underline;
+ color: #ae5cb0
+}
+
+.scilabstring {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabid {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabinputoutputargs {
+ font-weight: bold;
+ color: #834310
+}
+
+.scilabfunctionid {
+ font-weight: bold;
+ color: #000000
+}
+
+.scilabfield {
+ font-style: normal;
+ color: #aaaaaa
+}
+
+.scilabopenclose {
+ font-style: normal;
+ color: #4a55db
+}
diff --git a/help/en_US/scilab_en_US_help/section_0da8c7f3adca54f0475553087384b7a7.html b/help/en_US/scilab_en_US_help/section_0da8c7f3adca54f0475553087384b7a7.html
new file mode 100644
index 0000000..647ce7c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_0da8c7f3adca54f0475553087384b7a7.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter
+
+
+ Scilab 2 C Converter
+AVRADCSetup — Function to initialise ADC of AVR
+
+
+
+
+
+AVRDigitalIn — Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+
+AVRDigitalOut — Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+
+AVRDigitalPortSetup — Function to decide direction of port on AVR
+
+
+
+
+
+AVRDigitalSetup — Function to decide direction of a digital pin on AVR
+
+
+
+
+
+AVRGetTimerValue — Function to get timer count
+
+
+
+
+
+AVRPWM0SetDuty — Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+
+AVRPWM0Setup — Function to Setup OC0 pin for required PWM mode
+
+
+
+
+
+AVRPWM1SetDuty — Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+
+AVRPWM1Setup — Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+
+AVRPWM2SetDuty — Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+
+AVRPWM2Setup — Function to Setup OC2 pin for required PWM mode
+
+
+
+
+
+AVRReadADC — Function to get voltage on analog pin on AVR
+
+
+
+
+
+AVRSleep — Function to pause the execution for the given time.
+
+
+
+
+
+AVRTimerSetup — Function to setup Timers in ATmega16
+
+
+
+
+
+AVRUARTReceive — Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+
+AVRUARTSetup — Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+
+AVRUARTTransmit — Function to Transmit data using UART or USART.
+
+
+
+
+
+CV_AdaptiveThreshold — function to adaptively threshold input image
+
+
+
+
+
+CV_Blur — function to blur image using normalised box filter
+
+
+
+
+
+CV_Canny — Finds edges in image using Canny algorithm
+
+
+
+
+
+CV_CornerHarris — Finds edges in image using Harris algorithm
+
+
+
+
+
+CV_CreateImage — function to create an image object of given size and type
+
+
+
+
+
+CV_CvtColor — function to convert image from one colorspace to other colorspace
+
+
+
+
+
+CV_Dilate — dilates an image by using a specific structuring element.
+
+
+
+
+
+CV_DistanceTransform — function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+
+CV_Erode — Erodes an image by using a specific structuring element.
+
+
+
+
+
+CV_GaussianBlur — function to blur image using gaussian filter
+
+
+
+
+
+CV_GetImgSize — function to get size of the image (width*height)
+
+
+
+
+
+CV_LoadImage — function to load an image object from given filename
+
+
+
+
+
+CV_MedianBlur — function to blur image using median filter
+
+
+
+
+
+CV_SaveImage — function to save an image object as a given filename
+
+
+
+
+
+CV_ShowImage — function to show an image
+
+
+
+
+
+CV_Threshold — function to threshold input image
+
+
+
+
+
+CV_WaitKey — function similar to cvWaitKey
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/section_473a2b9e79723ff76a7f243f85d2b6b8.html b/help/en_US/scilab_en_US_help/section_473a2b9e79723ff76a7f243f85d2b6b8.html
new file mode 100644
index 0000000..647ce7c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_473a2b9e79723ff76a7f243f85d2b6b8.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter
+
+
+ Scilab 2 C Converter
+AVRADCSetup — Function to initialise ADC of AVR
+
+
+
+
+
+AVRDigitalIn — Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+
+AVRDigitalOut — Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+
+AVRDigitalPortSetup — Function to decide direction of port on AVR
+
+
+
+
+
+AVRDigitalSetup — Function to decide direction of a digital pin on AVR
+
+
+
+
+
+AVRGetTimerValue — Function to get timer count
+
+
+
+
+
+AVRPWM0SetDuty — Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+
+AVRPWM0Setup — Function to Setup OC0 pin for required PWM mode
+
+
+
+
+
+AVRPWM1SetDuty — Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+
+AVRPWM1Setup — Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+
+AVRPWM2SetDuty — Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+
+AVRPWM2Setup — Function to Setup OC2 pin for required PWM mode
+
+
+
+
+
+AVRReadADC — Function to get voltage on analog pin on AVR
+
+
+
+
+
+AVRSleep — Function to pause the execution for the given time.
+
+
+
+
+
+AVRTimerSetup — Function to setup Timers in ATmega16
+
+
+
+
+
+AVRUARTReceive — Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+
+AVRUARTSetup — Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+
+AVRUARTTransmit — Function to Transmit data using UART or USART.
+
+
+
+
+
+CV_AdaptiveThreshold — function to adaptively threshold input image
+
+
+
+
+
+CV_Blur — function to blur image using normalised box filter
+
+
+
+
+
+CV_Canny — Finds edges in image using Canny algorithm
+
+
+
+
+
+CV_CornerHarris — Finds edges in image using Harris algorithm
+
+
+
+
+
+CV_CreateImage — function to create an image object of given size and type
+
+
+
+
+
+CV_CvtColor — function to convert image from one colorspace to other colorspace
+
+
+
+
+
+CV_Dilate — dilates an image by using a specific structuring element.
+
+
+
+
+
+CV_DistanceTransform — function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+
+CV_Erode — Erodes an image by using a specific structuring element.
+
+
+
+
+
+CV_GaussianBlur — function to blur image using gaussian filter
+
+
+
+
+
+CV_GetImgSize — function to get size of the image (width*height)
+
+
+
+
+
+CV_LoadImage — function to load an image object from given filename
+
+
+
+
+
+CV_MedianBlur — function to blur image using median filter
+
+
+
+
+
+CV_SaveImage — function to save an image object as a given filename
+
+
+
+
+
+CV_ShowImage — function to show an image
+
+
+
+
+
+CV_Threshold — function to threshold input image
+
+
+
+
+
+CV_WaitKey — function similar to cvWaitKey
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/section_4d177ceb9ae128b1850140a7901a140a.html b/help/en_US/scilab_en_US_help/section_4d177ceb9ae128b1850140a7901a140a.html
new file mode 100644
index 0000000..647ce7c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_4d177ceb9ae128b1850140a7901a140a.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter
+
+
+ Scilab 2 C Converter
+AVRADCSetup — Function to initialise ADC of AVR
+
+
+
+
+
+AVRDigitalIn — Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+
+AVRDigitalOut — Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+
+AVRDigitalPortSetup — Function to decide direction of port on AVR
+
+
+
+
+
+AVRDigitalSetup — Function to decide direction of a digital pin on AVR
+
+
+
+
+
+AVRGetTimerValue — Function to get timer count
+
+
+
+
+
+AVRPWM0SetDuty — Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+
+AVRPWM0Setup — Function to Setup OC0 pin for required PWM mode
+
+
+
+
+
+AVRPWM1SetDuty — Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+
+AVRPWM1Setup — Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+
+AVRPWM2SetDuty — Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+
+AVRPWM2Setup — Function to Setup OC2 pin for required PWM mode
+
+
+
+
+
+AVRReadADC — Function to get voltage on analog pin on AVR
+
+
+
+
+
+AVRSleep — Function to pause the execution for the given time.
+
+
+
+
+
+AVRTimerSetup — Function to setup Timers in ATmega16
+
+
+
+
+
+AVRUARTReceive — Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+
+AVRUARTSetup — Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+
+AVRUARTTransmit — Function to Transmit data using UART or USART.
+
+
+
+
+
+CV_AdaptiveThreshold — function to adaptively threshold input image
+
+
+
+
+
+CV_Blur — function to blur image using normalised box filter
+
+
+
+
+
+CV_Canny — Finds edges in image using Canny algorithm
+
+
+
+
+
+CV_CornerHarris — Finds edges in image using Harris algorithm
+
+
+
+
+
+CV_CreateImage — function to create an image object of given size and type
+
+
+
+
+
+CV_CvtColor — function to convert image from one colorspace to other colorspace
+
+
+
+
+
+CV_Dilate — dilates an image by using a specific structuring element.
+
+
+
+
+
+CV_DistanceTransform — function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+
+CV_Erode — Erodes an image by using a specific structuring element.
+
+
+
+
+
+CV_GaussianBlur — function to blur image using gaussian filter
+
+
+
+
+
+CV_GetImgSize — function to get size of the image (width*height)
+
+
+
+
+
+CV_LoadImage — function to load an image object from given filename
+
+
+
+
+
+CV_MedianBlur — function to blur image using median filter
+
+
+
+
+
+CV_SaveImage — function to save an image object as a given filename
+
+
+
+
+
+CV_ShowImage — function to show an image
+
+
+
+
+
+CV_Threshold — function to threshold input image
+
+
+
+
+
+CV_WaitKey — function similar to cvWaitKey
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/section_c4a64b600f61b91c1ebf30f1b892cb10.html b/help/en_US/scilab_en_US_help/section_c4a64b600f61b91c1ebf30f1b892cb10.html
new file mode 100644
index 0000000..647ce7c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_c4a64b600f61b91c1ebf30f1b892cb10.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+ Scilab 2 C Converter >> Scilab 2 C Converter
+
+
+ Scilab 2 C Converter
+AVRADCSetup — Function to initialise ADC of AVR
+
+
+
+
+
+AVRDigitalIn — Function to get state (high\low) of a digital input pin on AVR
+
+
+
+
+
+AVRDigitalOut — Function to change state (high\low) of a digital output pin on AVR
+
+
+
+
+
+AVRDigitalPortSetup — Function to decide direction of port on AVR
+
+
+
+
+
+AVRDigitalSetup — Function to decide direction of a digital pin on AVR
+
+
+
+
+
+AVRGetTimerValue — Function to get timer count
+
+
+
+
+
+AVRPWM0SetDuty — Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+
+
+
+
+
+AVRPWM0Setup — Function to Setup OC0 pin for required PWM mode
+
+
+
+
+
+AVRPWM1SetDuty — Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
+
+
+
+
+
+AVRPWM1Setup — Function to Setup OC1A or OC1B pin for required PWM mode
+
+
+
+
+
+AVRPWM2SetDuty — Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+
+
+
+
+
+AVRPWM2Setup — Function to Setup OC2 pin for required PWM mode
+
+
+
+
+
+AVRReadADC — Function to get voltage on analog pin on AVR
+
+
+
+
+
+AVRSleep — Function to pause the execution for the given time.
+
+
+
+
+
+AVRTimerSetup — Function to setup Timers in ATmega16
+
+
+
+
+
+AVRUARTReceive — Function to Receive Char value send to ATmega16 using UART or USART.
+
+
+
+
+
+AVRUARTSetup — Function to Setup Serial Communication i.e UART or USART in ATmega16.
+
+
+
+
+
+AVRUARTTransmit — Function to Transmit data using UART or USART.
+
+
+
+
+
+CV_AdaptiveThreshold — function to adaptively threshold input image
+
+
+
+
+
+CV_Blur — function to blur image using normalised box filter
+
+
+
+
+
+CV_Canny — Finds edges in image using Canny algorithm
+
+
+
+
+
+CV_CornerHarris — Finds edges in image using Harris algorithm
+
+
+
+
+
+CV_CreateImage — function to create an image object of given size and type
+
+
+
+
+
+CV_CvtColor — function to convert image from one colorspace to other colorspace
+
+
+
+
+
+CV_Dilate — dilates an image by using a specific structuring element.
+
+
+
+
+
+CV_DistanceTransform — function to calculate distance to closest zero pixels for each pixel
+
+
+
+
+
+CV_Erode — Erodes an image by using a specific structuring element.
+
+
+
+
+
+CV_GaussianBlur — function to blur image using gaussian filter
+
+
+
+
+
+CV_GetImgSize — function to get size of the image (width*height)
+
+
+
+
+
+CV_LoadImage — function to load an image object from given filename
+
+
+
+
+
+CV_MedianBlur — function to blur image using median filter
+
+
+
+
+
+CV_SaveImage — function to save an image object as a given filename
+
+
+
+
+
+CV_ShowImage — function to show an image
+
+
+
+
+
+CV_Threshold — function to threshold input image
+
+
+
+
+
+CV_WaitKey — function similar to cvWaitKey
+
+
+
+
+
diff --git a/help/en_US/scilab_en_US_help/style.css b/help/en_US/scilab_en_US_help/style.css
new file mode 100644
index 0000000..0fe8923
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/style.css
@@ -0,0 +1,350 @@
+body {
+ color:#000000;
+ background-color:#ffffff;
+ font-family:sans-serif;
+ font-size:100%;
+ margin:5px;
+ padding:0;
+ background : url("/img/body.png");
+ background-repeat : repeat-x;
+}
+
+.para {
+ padding-left: 10px;
+}
+
+.refname {
+ color: #ff6c0a;
+}
+.refpurpose {
+ font-size: 110%;
+}
+
+.synopsis {
+ border: 1px solid black;
+ width:80%;
+ padding: 0.5em;
+}
+
+.editbar {
+ text-align: right;
+}
+
+.term {
+ color:#800000;
+ font-size:100%;
+}
+
+h3 {
+ color: #000063;
+ font-weight: bold;
+ font-size:130%;
+ margin-bottom: 10px;
+}
+
+.programlisting {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#EEEEFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+.literal {
+ font-family: monospace;
+ font-size: 100%;
+}
+
+.option {
+ font-family: monospace;
+ font-style: italic;
+ font-size: 100%;
+}
+
+.command {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.function {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.varname {
+ font-family: monospace;
+ font-weight: bold;
+ font-size: 100%;
+}
+
+.constant {
+ font-family: monospace;
+ font-size: 100%;
+ color: #da70d6;
+}
+
+a {
+ color: blue;
+ text-decoration:none;
+}
+
+a:hover {
+ text-decoration:underline;
+}
+
+.itemizedlist {
+ list-style-type: disk;
+}
+
+.inline-list li {
+ display: inline;
+ list-style-type: disk;
+}
+
+.vert-list {
+ list-style-type: disk;
+}
+
+pre {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+.leftpart {
+ position:absolute;
+ float:left;
+ width: 186px;
+ padding: 5px;
+ font-size: smaller;
+}
+
+.content {
+ margin-top: 100px;
+ margin-left: 196px
+}
+
+.container {
+ margin: 0 auto;
+ width:1024px;
+}
+
+ul.toc li.list-active {
+ list-style-type:disc;
+ font-weight:bold;
+}
+
+ul.toc li.parent {
+ font-size: 115%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li.root {
+ font-size: 135%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li {
+ font-size: 85%;
+ margin: 1px 0 1px 1px;
+ padding: 1px 0 1px 11px;
+ background-repeat: no-repeat;
+ background-position: center left;
+ list-style-type: circle;
+}
+
+.next {
+ float:right;
+ text-align: right;
+}
+
+.center {
+ text-align: center;
+}
+
+.screen {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#FFFFFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+/* Top and bottom navigation controls on manual pages --------------------- */
+div.manualnavbar {
+ background-color: #E0E0E0;
+ color: inherit;
+ padding: 4px;
+ margin-bottom: 10px;
+}
+div.manualnavbar .prev {
+ padding-right: 4px;
+}
+div.manualnavbar .next {
+ text-align: right;
+ padding-left: 4px;
+}
+
+div.manualnavbar .top {
+ text-align: center;
+ display: block;
+}
+
+div.manualnavbar hr {
+ color: #cccccc;
+ background-color: #cccccc;
+}
+
+/* Footer navigation area ------------------------------------------------- */
+
+#pagefooter {
+ position: relative;
+ font-size: 75%;
+ color: inherit;
+ background-color: #e5e5e5;
+ width: 100%;
+}
+
+#pagefooterleft {
+ top: 0px;
+ left: 0px;
+ padding: 6px;
+ margin-right: 30%;
+}
+
+#pagefooterright {
+ text-align: right;
+ margin-left: 50%;
+ padding: 6px;
+}
+#footnav {
+ color: inherit;
+ background-color: #9999cc;
+ border-width: 1px 0px;
+ border-color: #333366;
+ border-style: solid;
+ text-align: right;
+ padding-right: 6px;
+}
+
+
+
+
+ #global{
+/* width: 90%; */
+ max-width: 90em;
+/* min-width: 850px; */
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ #myHeader{
+ background-color:#000000;
+ color:white;
+ margin-bottom : 10px;
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("http://atoms.scilab.org/images/homepage/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+
+ }
+
+ #myFooter{
+ background-color:#E5E5E5;
+ font-color:black;
+/* width: 90%;*/
+ max-width: 90em;
+/* min-width: 850px;
+ margin-left: 5%;
+ margin-right: 5%;*/
+ margin-top:10px;
+ padding:10px;
+ }
+
+ #mainArea{
+ width: 100%;
+ overflow: hidden;
+ }
+
+ #myLeftArea{
+ color:white;
+ float: left;
+ width: 180px;
+ padding:5px;
+ }
+
+ #myMiddleArea{
+ color:black;
+ margin-left: 200px;
+ padding: 10px 20px;
+ }
+
+ #myRightArea{
+ color:white;
+ float: right;
+ width: 200px;
+ padding: 12px 20px;
+ }
+
+
+div#cadre_head
+{
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("/img/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+}
+
+
+div#slogan{
+ position: absolute;
+ top : 50px;
+ left:251px;
+ color:#0000AA;
+ font: 120%, Georgia,Serif;
+}
+div#cadre_help
+{
+ position: absolute;
+ top:45px;
+ right:0px;
+ font-size:0.8em;
+ color:#0000AA;
+}
+
+table.revhistory
+{
+ width:80%;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ margin-bottom: 10px;
+}
+
+table.revhistory tr.title td
+{
+ background-color: #9999CC;
+}
\ No newline at end of file
diff --git a/help/en_US/scilab_en_US_help/xml_code.css b/help/en_US/scilab_en_US_help/xml_code.css
new file mode 100644
index 0000000..9e4c27f
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/xml_code.css
@@ -0,0 +1,94 @@
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmldefault {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlentity {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.xmlopeninstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlcloseinstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlinstrname {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmllowtag {
+ font-style: normal;
+ color: #000000
+}
+
+.xmltagname {
+ font-style: normal;
+ color: #0303ff
+}
+
+.xmllowclose {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlopencomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcommentend {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlopencdata {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdataend {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdata {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributename {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmlequal {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributevalue {
+ font-style: normal;
+ color: #973964
+}
+
+.xmlautoclose {
+ font-style: normal;
+ color: #000000
+}
diff --git a/includes/lapack.h b/includes/lapack.h
index d3f6cb3..5f12bc2 100644
--- a/includes/lapack.h
+++ b/includes/lapack.h
@@ -195,13 +195,6 @@ extern doubleComplex zgesvd_( char* , char* , int* , int* ,doubleComplex *,\
int* , double* ,doubleComplex* , int* ,doubleComplex* , int* ,\
doubleComplex* , int* , double* , int* );
-/*USed in QR decompsition*/
-extern double dgeqrf_(int *,int *,double *,int *,double *,double *,int *,int *);
-extern double dgeqpf_(int *,int *,double *,int *,int *,double *,double *,int *);
-extern double dorgqr_(int *,int *,int *,double *,int *,double *,double *,int *,int *);
-extern void dlaset_(char *,int *,int *,double *,double *,double *,int *);
-
-
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/includes/sci2clib.h b/includes/sci2clib.h
index 5588120..1a8b557 100644
--- a/includes/sci2clib.h
+++ b/includes/sci2clib.h
@@ -18,6 +18,15 @@ extern "C" {
/* interfacing lapack */
#include "lapack.h"
+
+#include "sva.h"
+#include "int_sva.h"
+
+
+#include "svd.h"
+#include "int_svd.h"
+
+
/* AUXILIARY FUNCTIONS */
/* interfacing abs */
@@ -65,8 +74,22 @@ extern "C" {
#include "rand.h"
#include "int_rand.h"
+/* INTERPOLATION FUNCTIONS*/
+
+/*interfacing interp1*/
+#include "interp1.h"
+#include "int_interp1.h"
+
/* ELEMENTARY FUNCTIONS */
+#include "nextpow2.h"
+#include "int_nextpow2.h"
+/*interfacing gcd*/
+#include "gcd.h"
+#include "int_gcd.h"
+/* interfacing isreal*/
+#include "isreal.h"
+#include "int_isreal.h"
/* interfacing atand */
#include "atand.h"
#include "int_atand.h"
@@ -189,6 +212,12 @@ extern "C" {
/* interfacing int16 */
#include "int16.h"
#include "int_int16.h"
+/* interfacing uint32 */
+#include "uint32.h"
+#include "int_uint32.h"
+/* interfacing int32 */
+#include "int32.h"
+#include "int_int32.h"
/*interfacing bitand */
#include "bitand.h"
@@ -304,6 +333,15 @@ extern "C" {
#include "factor.h"
#include "int_factor.h"
+/*interfacing gcd*/
+#include "gcd.h"
+#include "int_gcd.h"
+
+/*interfacing lcm*/
+#include "lcm.h"
+#include "int_lcm.h"
+
+
/* IMPLICIT LISTS */
/* interfacing implicitList/OpColon */
#include "implicitList.h"
@@ -412,6 +450,18 @@ extern "C" {
#include "norm.h"
/* SIGNAL PROCESSING */
+
+
+#include "modk.h"
+#include "int_modk.h"
+/* interfacing idct */
+//#include "idct.h"
+//#include "int_idct.h"
+
+/* interfacing dct */
+//#include "dct.h"
+//#include "int_dct.h"
+
/* interfacing convol */
#include "conv.h"
#include "conv2d.h"
@@ -431,7 +481,65 @@ extern "C" {
#include "lev.h"
#include "int_lev.h"
+/* interfacing zpbutt */
+#include "zpbutt.h"
+#include "int_zpbutt.h"
+
+/*interfacing zpch1 */
+#include "zpch1.h"
+#include "int_zpch1.h"
+
+/*interfacing zpch2 */
+#include "zpch2.h"
+#include "int_zpch2.h"
+
+/*interfacing buttmag */
+#include "buttmag.h"
+#include "int_buttmag.h"
+
+/*interfacing cheb1mag */
+#include "cheb1mag.h"
+#include "int_cheb1mag.h"
+
+/*interfacing cheb2mag */
+#include "cheb2mag.h"
+#include "int_cheb2mag.h"
+
+/*interfacing sinc */
+#include "sinc.h"
+#include "int_sinc.h"
+
+/*interfacing sincd */
+#include "sincd.h"
+#include "int_sincd.h"
+
+/*interfacing fsfirlin */
+#include "fsfirlin.h"
+#include "int_fsfirlin.h"
+
+/*interfacing %k */
+#include "modk.h"
+#include "int_modk.h"
+
+/*interfacing filt_sinc */
+#include "filt_sinc.h"
+#include "int_filt_sinc.h"
+
+/*interfacing ffilt */
+#include "ffilt.h"
+#include "int_ffilt.h"
+
+/*interfacing %sn */
+#include "modsn.h"
+#include "int_modsn.h"
+/*interfacing ell1mag */
+#include "ell1mag.h"
+#include "int_ell1mag.h"
+
+/* interfacing amell */
+#include "amell.h"
+#include "int_amell.h"
/* STATISTICS FUNCTIONS */
@@ -500,6 +608,26 @@ extern "C" {
#include "strrchr.h"
#include "int_strrchr.h"
+/*interfacing strchr*/
+#include "strchr.h"
+#include "int_strchr.h"
+
+/*interfacing ascii*/
+#include "ascii.h"
+#include "int_ascii.h"
+
+/*interfacing strspn*/
+#include "strspn.h"
+#include "int_strspn.h"
+
+/*interfacing strcspn*/
+#include "strcspn.h"
+#include "int_strcspn.h"
+
+/*interfacing strncpy*/
+#include "strncpy.h"
+#include "int_strncpy.h"
+
/*Functions related to strings*/
#include "convstr.h"
#include "int_convstr.h"
@@ -532,27 +660,8 @@ extern "C" {
#include "hess.h" /* Linear Algebra - Hess function */
#include "int_hess.h"
-#include "sva.h" /* Linear Algebra - SVA function */
-#include "int_sva.h"
-
-#include "sqroot.h" /* Linear Algebra - Sqroot function */
-#include "int_sqroot.h"
-
-#include "givens.h" /* Linear Algebra - Givens Function */
-#include "int_givens.h"
-
-#include "householder.h" /* Linear Algebra - Householder function */
-#include "int_householder.h"
-
-#include "fullrf.h" /* Linear Algebra - Full rank factoziation */
-#include "int_fullrf.h"
-
-#include "rowcomp.h" /* Linear Algebra - row compression, range */
-#include "int_rowcomp.h"
-
-
-#include "qr.h"
-#include "int_qr.h"
+#include "sva.h"
+#include "int_sva.h" /*Linear Algebra - SVA function */
/*Functions related to opencv*/
/*#include "cvcore.hpp"
@@ -575,8 +684,24 @@ extern "C" {
#include "int_cmd_dcmotor.h"
#include "cmd_dcmotor_run.h"
#include "cmd_dcmotor_setup.h"
+#include "cmd_dcmotor_release.h"
#include "int_sleep.h"
#include "sleep.h"
+#include "int_cmd_analog_in_volt.h"
+#include "cmd_analog_in_volt.h"
+#include "int_cmd_analog_out_volt.h"
+#include "cmd_analog_out_volt.h"
+#include "cmd_i2c_dev.h"
+#include "int_cmd_i2c_dev.h"
+#include "cmd_i2c_write.h"
+#include "int_cmd_i2c_write.h"
+#include "cmd_i2c_read.h"
+#include "int_cmd_i2c_read.h"
+#include "cmd_i2c_write_register.h"
+#include "int_cmd_i2c_write_register.h"
+#include "cmd_i2c_read_register.h"
+#include "int_cmd_i2c_read_register.h"
+
/*#include "cmd_servo_attach.h"
#include "cmd_servo_detach.h"
#include "cmd_servo_move.h"
@@ -603,18 +728,38 @@ extern "C" {
/*RPi*/
#ifdef RPi1
#include "wiringPi.h"
-#include "int_RPIPeripheralDigital.h"
#include "RPIPeripheralDigital.h"
-#include "int_RPIPeripheralTiming.h"
-#include "RPIPeripheralTiming.h"
-#include "int_RPIPeripheralSerial.h"
-#include "RPIPeripheralSerial.h"
-#include "int_RPIPeripheralThreading.h"
-#include "RPIPeripheralThreading.h"
-#include "int_RPIPeripheralPinISR.h"
-#include "RPIPeripheralPinISR.h"
-#include "int_RPIPeripheralPWM.h"
+#include "int_RPIPeripheralDigital.h"
+#include "RPIPeripheralGertboard.h"
+#include "int_RPIPeripheralGertboard.h"
+#include "RPIPeripheralI2C.h"
+#include "int_RPIPeripheralI2C.h"
+#include "RPIPeripheralInterrupt.h"
+#include "int_RPIPeripheralInterrupt.h"
+#include "RPIPeripheralLCD.h"
+#include "int_RPIPeripheralLCD.h"
+#include "RPIPeripheralMcp.h"
+#include "int_RPIPeripheralMcp.h"
+#include "RPIPeripheralMisc.h"
+#include "int_RPIPeripheralMisc.h"
+#include "RPIPeripheralPcf.h"
+#include "int_RPIPeripheralPcf.h"
+#include "RPIPeripheralPiGlow.h"
+#include "int_RPIPeripheralPiGlow.h"
+#include "RPIPeripheralPinMap.h"
+#include "int_RPIPeripheralPinMap.h"
#include "RPIPeripheralPWM.h"
+#include "int_RPIPeripheralPWM.h"
+#include "RPIPeripheralSerial.h"
+#include "int_RPIPeripheralSerial.h"
+#include "RPIPeripheralSetup.h"
+#include "int_RPIPeripheralSetup.h"
+#include "RPIPeripheralShift.h"
+#include "int_RPIPeripheralShift.h"
+#include "RPIPeripheralSoft.h"
+#include "int_RPIPeripheralSoft.h"
+#include "RPIPeripheralTiming.h"
+#include "int_RPIPeripheralTiming.h"
#endif
#ifdef __cplusplus
diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar
new file mode 100644
index 0000000..d829915
Binary files /dev/null and b/jar/scilab_en_US_help.jar differ
diff --git a/libraries/blasplus.lib b/libraries/blasplus.lib
new file mode 100644
index 0000000..df51136
Binary files /dev/null and b/libraries/blasplus.lib differ
diff --git a/libraries/lapack.lib b/libraries/lapack.lib
new file mode 100644
index 0000000..305c5a8
Binary files /dev/null and b/libraries/lapack.lib differ
diff --git a/locales/en_US.po b/locales/en_US.po
new file mode 100755
index 0000000..7ba878b
--- /dev/null
+++ b/locales/en_US.po
@@ -0,0 +1,35 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: sci_gateway\c\sci_cerror.c:17
+msgid "%s: I'm waiting only one argument.\n"
+msgstr ""
+
+#: sci_gateway\c\sci_cerror.c:22
+#: macros\scilab_error.sci:17
+msgid "%s: Yeah! %d is a good number of arguments but I prefer fail, sorry.\n"
+msgstr ""
+
+#: macros\scilab_error.sci:13
+msgid "%s: I''m waiting for only one argument.\n"
+msgstr ""
+
+msgid "Rectangle"
+msgstr ""
+
+msgid "My Title"
+msgstr ""
+
+msgid "Height"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "Color"
+msgstr ""
+
+msgid "Outline"
+msgstr ""
diff --git a/locales/en_US/LC_MESSAGES/scilab2c.mo b/locales/en_US/LC_MESSAGES/scilab2c.mo
new file mode 100644
index 0000000..109adc9
Binary files /dev/null and b/locales/en_US/LC_MESSAGES/scilab2c.mo differ
diff --git a/locales/en_US/LC_MESSAGES/scilab2c.po b/locales/en_US/LC_MESSAGES/scilab2c.po
new file mode 100755
index 0000000..7ba878b
--- /dev/null
+++ b/locales/en_US/LC_MESSAGES/scilab2c.po
@@ -0,0 +1,35 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: sci_gateway\c\sci_cerror.c:17
+msgid "%s: I'm waiting only one argument.\n"
+msgstr ""
+
+#: sci_gateway\c\sci_cerror.c:22
+#: macros\scilab_error.sci:17
+msgid "%s: Yeah! %d is a good number of arguments but I prefer fail, sorry.\n"
+msgstr ""
+
+#: macros\scilab_error.sci:13
+msgid "%s: I''m waiting for only one argument.\n"
+msgstr ""
+
+msgid "Rectangle"
+msgstr ""
+
+msgid "My Title"
+msgstr ""
+
+msgid "Height"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "Color"
+msgstr ""
+
+msgid "Outline"
+msgstr ""
diff --git a/macros/ASTManagement/%equal_string.sci b/macros/ASTManagement/%equal_string.sci
index 9678f0e..041fb84 100644
--- a/macros/ASTManagement/%equal_string.sci
+++ b/macros/ASTManagement/%equal_string.sci
@@ -13,4 +13,4 @@ function txt=%equal_string(e)
' '+objectlist2string(e.lhs)
'EndEqual'
]
-endfunction
\ No newline at end of file
+endfunction
diff --git a/macros/ASTManagement/%funcall_string.sci b/macros/ASTManagement/%funcall_string.sci
index faeb81d..0ee9701 100644
--- a/macros/ASTManagement/%funcall_string.sci
+++ b/macros/ASTManagement/%funcall_string.sci
@@ -6,10 +6,19 @@ function txt=%funcall_string(F)
// name : string, the name of the function
// lhsnb: number, the number of function lhs
+if F.name <> 'disp'
txt=['Funcall : '+F.name
' #lhs : '+string(F.lhsnb)
' Rhs : '
' '+objectlist2string(F.rhs)
'EndFuncall'
]
+else
+txt=['Funcall : '+F.name
+ ' #lhs : '+'0'
+ ' Rhs : '
+ ' '+objectlist2string(F.rhs)
+ 'EndFuncall'
+ ]
+end
endfunction
diff --git a/macros/ASTManagement/%operatio_string.sci b/macros/ASTManagement/%operatio_string.sci
index 8421a3f..cc18e91 100644
--- a/macros/ASTManagement/%operatio_string.sci
+++ b/macros/ASTManagement/%operatio_string.sci
@@ -4,10 +4,22 @@ function txt=%operatio_string(O)
//fields:
// operands: a list
// operator: a string
+if O.operator <> 'rc' & O.operator <> 'cc'
txt=['Operation'
' Operands:'
' '+objectlist2string(O.operands)
' Operator: '+O.operator
'EndOperation'
]
-endfunction
\ No newline at end of file
+elseif O.operator == 'rc'
+ txt=[' Operands:'
+ ' '+objectlist2string(O.operands)
+ 'Endrc'
+ ]
+elseif O.operator == 'cc'
+ txt=[' Begin:'
+ ' '+objectlist2string(O.operands)
+ 'Endcc'
+ ]
+end
+endfunction
diff --git a/macros/ASTManagement/%operation_string.sci b/macros/ASTManagement/%operation_string.sci
index 84f5ce3..c9282f6 100644
--- a/macros/ASTManagement/%operation_string.sci
+++ b/macros/ASTManagement/%operation_string.sci
@@ -10,4 +10,4 @@ function txt=%operation_string(O)
' Operator: '+O.operator
'EndOperation'
]
-endfunction
\ No newline at end of file
+endfunction
diff --git a/macros/ASTManagement/AST2Ccode.sci b/macros/ASTManagement/AST2Ccode.sci
index 8076d7e..563f313 100644
--- a/macros/ASTManagement/AST2Ccode.sci
+++ b/macros/ASTManagement/AST2Ccode.sci
@@ -46,6 +46,13 @@ ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
// ---------------------------------
// --- Parameter Initialization. ---
// ---------------------------------
+
+global cc_count
+cc_count = 0;
+
+global rc_count
+rc_count = 0;
+
global SCI2CSTACK
SCI2CSTACK = ['EMPTYSTACK'];
@@ -54,6 +61,9 @@ StackPosition = 1;
global STACKDEDUG
STACKDEDUG = 0; // 1 -> Every Pop and Push operation on the stack, the stack content will be printed on screen.
+
+global disp_isthere
+disp_isthere = 0;
// -------------------------------------
// --- End parameter Initialization. ---
// -------------------------------------
@@ -132,9 +142,10 @@ while ~meof(fidAST)
//NUT: qui puoi anche aggiunger piu' case per specificare meglio la struttura della funcall
//NUT: i case aggiunti ovviamente faranno solo il push della treeline.
case 'EndOperation' then
- [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,'Operation');
+ [disp_isthere,FileInfo,SharedInfo] = AST_HandleEndGenFun(disp_isthere,FileInfo,SharedInfo,'Operation');
case 'EndFuncall' then
- [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,'Funcall');
+ [disp_isthere,FileInfo,SharedInfo] = AST_HandleEndGenFun(disp_isthere,FileInfo,SharedInfo,'Funcall');
+ disp(disp_isthere);
// --------------
// --- Equal. ---
@@ -144,25 +155,60 @@ while ~meof(fidAST)
//NUT: per fare in modo di coprire le ins, anche se ci puo' essere qualche rischio quando
//NUT: ho miste ins e variabili, per esempio [c(1,1), a] = twooutfun();
//NUT: in questo caso solo una delle due equal va scartata.
- [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,'Equal');
- SharedInfo = INIT_SharedInfoEqual(SharedInfo);
+ if rc_count > 0 & cc_count == 0
+ [FileInfo,SharedInfo] = AST_HandleFunRC(FileInfo,SharedInfo);
+ rc_count = 0;
+ elseif cc_count > 0
+ [FileInfo,SharedInfo] = AST_HandleFunCC(cc_count,FileInfo,SharedInfo);
+ rc_count = 0;
+ cc_count = 0;
+ else
+ if disp_isthere == 0
+ [disp_isthere,FileInfo,SharedInfo] = AST_HandleEndGenFun(disp_isthere,FileInfo,SharedInfo,'Equal');
+ SharedInfo = INIT_SharedInfoEqual(SharedInfo);
+ end
+ end
+ disp_isthere = 0;
+
case 'Equal' then
SharedInfo.Equal.Enabled = 1; // 1 means enabled -> we are inside an equal AST block.
AST_PushASTStack(treeline);
case 'Lhs :' then
- SharedInfo.Equal.Lhs = 1; // 1 means that we are inside the Lhs block of the Equal
- [EqualInArgName,EqualInArgScope,EqualNInArg] = AST_ReadEqualRhsNames(FileInfo,SharedInfo);
-
- // lengthNumber = length('Number_');
- // if (part(EqualInArgScope,1:lengthNumber) == 'Number_')
- // SharedInfo.SkipNextEqual = 1
- // end
- SharedInfo.Equal.NInArg = EqualNInArg;
- for tmpcnt = 1:SharedInfo.Equal.NInArg
- SharedInfo.Equal.InArg(tmpcnt).Name = EqualInArgName(tmpcnt);
- SharedInfo.Equal.InArg(tmpcnt).Scope = EqualInArgScope(tmpcnt);
- end
- AST_PushASTStack(treeline);
+ disp(disp_isthere);
+ if rc_count > 0 & cc_count == 0
+ SharedInfo.Equal.Lhs = 1;
+ [EqualInArgName,EqualInArgScope,EqualNInArg] = AST_HandleRC(FileInfo,SharedInfo);
+ SharedInfo.Equal.NInArg = EqualNInArg - rc_count -1;
+ AST_PushASTStack(treeline);
+ for tmpcnt = 1:SharedInfo.Equal.NInArg
+ SharedInfo.Equal.InArg(tmpcnt).Name = EqualInArgName(tmpcnt);
+ SharedInfo.Equal.InArg(tmpcnt).Scope = EqualInArgScope(tmpcnt);
+ end
+ elseif cc_count > 0
+ SharedInfo.Equal.Lhs = 1;
+ [EqualInArgName,EqualInArgScope,EqualNInArg] = AST_HandleCC(FileInfo,SharedInfo);
+ AST_PushASTStack(treeline);
+ else
+ SharedInfo.Equal.Lhs = 1; // 1 means that we are inside the Lhs block of the Equal
+ //if SharedInfo.Equal.NOutArg > 0
+ if disp_isthere == 0
+ [EqualInArgName,EqualInArgScope,EqualNInArg] = AST_ReadEqualRhsNames(FileInfo,SharedInfo);
+ SharedInfo.Equal.NInArg = EqualNInArg;
+ //end
+
+ // lengthNumber = length('Number_');
+ // if (part(EqualInArgScope,1:lengthNumber) == 'Number_')
+ // SharedInfo.SkipNextEqual = 1
+ // end
+
+ for tmpcnt = 1:SharedInfo.Equal.NInArg
+ SharedInfo.Equal.InArg(tmpcnt).Name = EqualInArgName(tmpcnt);
+ SharedInfo.Equal.InArg(tmpcnt).Scope = EqualInArgScope(tmpcnt);
+ end
+ //end
+ end
+ AST_PushASTStack(treeline);
+ end
// ----------------
// --- If/Else. ---
@@ -196,6 +242,7 @@ while ~meof(fidAST)
// -----------------
case 'EndProgram'
SharedInfo = AST_HandleEndProgram(FileInfo,SharedInfo);
+ disp_isthere = 0;
//NUT: per essere precisi si puo' pensare di mettere un check
//NUT: alla fine dell'albero per accertarsi che c'e' end program li' dove ce lo aspettiamo
@@ -229,6 +276,15 @@ while ~meof(fidAST)
SharedInfo = AST_HandleEndWhile(FileInfo,SharedInfo);
SharedInfo.While.Level = SharedInfo.While.Level - 1;
+
+ case 'Endrc' then
+ rc_count = rc_count + 1;
+
+ case 'Endcc' then
+ cc_count = cc_count + 1;
+
+ //[FileInfo,SharedInfo] = AST_HandleRC(FileInfo,SharedInfo);
+
// ----------------
// --- Default. ---
// ----------------
diff --git a/macros/ASTManagement/AST_HandleCC.sci b/macros/ASTManagement/AST_HandleCC.sci
new file mode 100644
index 0000000..cc41154
--- /dev/null
+++ b/macros/ASTManagement/AST_HandleCC.sci
@@ -0,0 +1,69 @@
+// 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: Ukasha Noor
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+function [RhsNames,RhsScope,NRhs] = AST_HandleCC(FileInfo,SharedInfo)
+
+SCI2CNInArgCheck(argn(2),2,2)
+
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+
+
+global SCI2CSTACK
+global StackPosition;
+global STACKDEDUG
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+
+// ------------------------------
+// --- Read input parameters. ---
+// ------------------------------
+cntpop = 1;
+NRhs = 0;
+RhsField(cntpop) = AST_PopASTStack();
+RhsNames = [];
+while (RhsField(cntpop) ~= 'Expression:')
+ if RhsField(cntpop) <> 'Operands:' & RhsField(cntpop) <> 'Begin:'
+ NRhs = NRhs + 1;
+
+ [RhsNames(NRhs),RhsScope(NRhs)] = AST_ExtractNameAndScope(RhsField(cntpop));
+ end
+ cntpop = cntpop + 1;
+ RhsField(cntpop) = AST_PopASTStack();
+end
+RhsNames = SCI2Cflipud(RhsNames);
+RhsScope = SCI2Cflipud(RhsScope);
+
+// --- Repush everything into the stack. ---
+for cntpush = cntpop:-1:1
+ if RhsField(cntpush) <> 'Operands:' & RhsField(cntpush) <> 'Begin:'
+ PrintStringInfo(' ' + RhsField(cntpush),ReportFileName,'file','y');
+ AST_PushASTStack(RhsField(cntpush));
+ end
+end
+
+
+//for counterinputargs = 1:NRhs
+ //#RNU_RES_B
+ //disp(counterinputargs);
+ //PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+RhsNames(counterinputargs).Name,...
+ // ReportFileName,'file','y');
+ //PrintStringInfo(' Scope: '+RhsNames(counterinputargs).Scope,...
+ // ReportFileName,'file','y');
+ //#RNU_RES_E
+//end
+
+endfunction
diff --git a/macros/ASTManagement/AST_HandleEndGenFun.sci b/macros/ASTManagement/AST_HandleEndGenFun.sci
index 5ff7181..96830aa 100644
--- a/macros/ASTManagement/AST_HandleEndGenFun.sci
+++ b/macros/ASTManagement/AST_HandleEndGenFun.sci
@@ -1,5 +1,5 @@
-function [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,ASTFunType)
+function [disp_isthere,FileInfo,SharedInfo] = AST_HandleEndGenFun(disp_isthere,FileInfo,SharedInfo,ASTFunType)
// function [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,ASTFunType)
// -----------------------------------------------------------------
// #RNU_RES_B
@@ -36,7 +36,7 @@ function [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,ASTFunT
// ------------------------------
// --- Check input arguments. ---
// ------------------------------
-SCI2CNInArgCheck(argn(2),3,3);
+SCI2CNInArgCheck(argn(2),4,4);
// -----------------------
// --- Initialization. ---
@@ -61,6 +61,8 @@ PrintStepInfo('Handling Funcall/Operation/Equal',FileInfo.Funct(nxtscifunnumber)
global SCI2CSTACK
global StackPosition;
global STACKDEDUG
+
+disp_isthere = 0;
// ---------------------------
// --- End Initialization. ---
// ---------------------------
@@ -73,6 +75,19 @@ global STACKDEDUG
// #RNU_RES_E
[ASTFunName,InArg,NInArg,OutArg,NOutArg] = AST_GetFuncallPrm(FileInfo,SharedInfo,ASTFunType);
NOutArg_mod = NOutArg
+ if ASTFunName == 'OpLogAnd'
+ AST_PushASTStack('&&');
+ return ;
+ end
+ if ASTFunName == 'OpLogOr'
+ AST_PushASTStack('||');
+ return;
+ end
+
+ if ASTFunName == 'disp'
+ disp_isthere = 1;
+ end
+
if(mtlb_strcmp(part(ASTFunName,1:2),'CV') == %T)
SharedInfo.OpenCVUsed = %T;
end
@@ -112,6 +127,8 @@ NOutArg_mod = NOutArg
PrintStringInfo(' ',ReportFileName,'both','y');
error(9999, 'SCI2CERROR: Unexpected number of output arguments for global function.');
end
+ elseif(ASTFunName == 'raspi' | ASTFunName == 'raspi_close')
+ SharedInfo.SkipNextFun = 1;
end
// #RNU_RES_B
@@ -119,6 +136,13 @@ NOutArg_mod = NOutArg
// --- Read the function annotations. ---
// --------------------------------------
// #RNU_RES_E
+ if ASTFunName == '%k'
+ ASTFunName='modk';
+ end
+
+ if ASTFunName == '%sn'
+ ASTFunName='modsn';
+ end
if (ASTFunName == 'OpEqual')
FunTypeAnnot = '';
@@ -132,6 +156,7 @@ NOutArg_mod = NOutArg
// --- Search for Equal Lhs and precision specifier to be applied to the current function. ---
// -------------------------------------------------------------------------------------------
// #RNU_RES_E
+ PrintStringInfo(' no of out arguments' + string(NOutArg),ReportFileName,'file','y');
[LhsArg,NLhsArg,FunPrecSpecifier,SharedInfo] = AST_GetPrecAndLhsArg(OutArg,NOutArg,ASTFunName,FunTypeAnnot,FunSizeAnnot,ASTFunType,FileInfo,SharedInfo);
//NUT: questa funzione contiene troppi parametri e mi sembra disordinata.
@@ -329,8 +354,13 @@ NOutArg_mod = NOutArg
OutArg(1).Name = string(OutArg(1).Value);
elseif ((ASTFunName == 'double') & (NInArg == 1) & (InArg(1).Dimension == 0) & (InArg(1).Scope == 'Number'))
OutArg(1).Name = string(OutArg(1).Value);
+ //elseif ASTFunName == 'disp'
else
[OutArg,SharedInfo] = GenOutArgNames(ASTFunName,InArg,NInArg,OutArg,NOutArg,LhsArg,NLhsArg,FileInfo,SharedInfo);
+ if ( ASTFunName == 'OpLogGt' | ASTFunName == 'OpLogLt' | ASTFunName == 'OpLogLe' | ASTFunName == 'OpLogGe' | ASTFunName == 'OpLogNe' | ASTFunName == 'OpLogEq')
+ PrintStringInfo(' returning back due logical function',ReportFileName,'file','y');
+ return;
+ end
end
if ((ASTFunName == 'uint8') & (NInArg == 1) & (InArg(1).Dimension == 0) & (InArg(1).Scope == 'Number'))
@@ -374,6 +404,8 @@ NOutArg_mod = NOutArg
// Scope already set above.
elseif (ASTFunName == 'double' & NInArg == 1 & (InArg(1).Dimension == 0) & (InArg(1).Scope == 'Number'))
// Scope already set above.
+ //elseif ASTFunName == 'disp'
+ //do nothing
else
OutArg = ST_AnalyzeScope(OutArg,NOutArg,FileInfo,SharedInfo);
end
@@ -392,6 +424,8 @@ NOutArg_mod = NOutArg
//#RNUREM_ME A number is not inserted in the symbol table.
elseif ((ASTFunName == 'double') & (NInArg == 1) & (InArg(1).Dimension == 0) & (InArg(1).Scope == 'Number'))
//#RNUREM_ME A number is not inserted in the symbol table.
+ //elseif ASTFunName == 'disp'
+ //do nothing
else
ST_InsOutArg(OutArg,NOutArg,FileInfo,SharedInfo,'all');
end
@@ -424,8 +458,10 @@ NOutArg_mod = NOutArg
// --------------------------------------------
//#RNU_RES_E
//disp(OutArg,InArg,ASTFunName)
+
+
CFunName = C_GenerateFunName(ASTFunName,InArg,NInArg,OutArg,NOutArg_mod);
-
+
//#RNU_RES_B
PrintStringInfo(' C Function Name: '+CFunName,ReportFileName,'file','y');
if(IsArduinoFunction(ASTFunName))
@@ -449,7 +485,8 @@ NOutArg_mod = NOutArg
else
LibTypeInfo = 'USER2C';
end
-
+
+
//#RNU_RES_B
// ------------------------------------------------------------------------------------
// --- Check whether the function has been already called in the current .sci file. ---
@@ -496,6 +533,8 @@ NOutArg_mod = NOutArg
SharedInfo.SkipNextFun > 0 | ...
((sum(mtlb_strcmp(ASTFunName,SharedInfo.Annotations.DataPrec)) > 0) & (SharedInfo.SkipNextPrec == 1)))
// Do nothing
+ //elseif ASTFunName == 'disp'
+ // Do nothing
else
AST_CheckCommonInOutArgs(InArg,NInArg,OutArg,NOutArg,ReportFileName);
end
diff --git a/macros/ASTManagement/AST_HandleFunCC.sci b/macros/ASTManagement/AST_HandleFunCC.sci
new file mode 100644
index 0000000..1942c74
--- /dev/null
+++ b/macros/ASTManagement/AST_HandleFunCC.sci
@@ -0,0 +1,176 @@
+// 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: Ukasha Noor
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+
+function [FileInfo,SharedInfo] = AST_HandleFunCC(NCol,FileInfo,SharedInfo)
+
+SCI2CNInArgCheck(argn(2),3,3)
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+
+// -----------------------
+// --- Initialization. ---
+// -----------------------
+nxtscifunname = SharedInfo.NextSCIFunName;
+nxtscifunnumber = SharedInfo.NextSCIFunNumber;
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+global SCI2CSTACK
+global StackPosition;
+global STACKDEDUG
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+// ------------------------------
+// --- Read output parameters. --
+// ------------------------------
+LhsField = AST_PopASTStack();
+NOutArg = 0;
+OutputArgumentNames = [];
+OutputArgumentScope = [];
+while (LhsField ~= 'Lhs :')
+ NOutArg = NOutArg + 1;
+ [OutputArgumentNames(NOutArg),OutputArgumentScope(NOutArg)] = AST_ExtractNameAndScope(LhsField);
+ LhsField = AST_PopASTStack();
+ if (LhsField == 'Expression:')
+ error(9999, 'Found Expression: before Lhs');
+ elseif (LhsField == 'Equal')
+ error(9999, 'Found Equal before Lhs');
+ end
+end
+
+// ------------------------------
+// --- Read input parameters. ---
+// ------------------------------
+
+
+RhsField = AST_PopASTStack();
+InputArgumentNames = [];
+InputArgumentScope = [];
+NInArg = 0;
+InArg = [];
+while (RhsField ~= 'Expression:')
+ NInArg = NInArg + 1;
+ if RhsField <> 'Operands:'
+ [InputArgumentNames(NInArg),InputArgumentScope(NInArg)] = AST_ExtractNameAndScope(RhsField);
+ end
+ //InArg(NInArg) = RhsField;
+ RhsField = AST_PopASTStack();
+end
+InputArgumentNames = SCI2Cflipud(InputArgumentNames);
+InputArgumentScope = SCI2Cflipud(InputArgumentScope);
+
+
+// -------------------------------------
+// --- Generate the InArg structure. ---
+// -------------------------------------
+//#RNU_RES_E
+for counterinputargs = 1:NInArg
+ InArg(counterinputargs).Name=InputArgumentNames(counterinputargs);
+ InArg(counterinputargs).Scope=InputArgumentScope(counterinputargs);
+end
+
+//#RNU_RES_B
+// -------------------------------------
+// --- Generate the InArg structure. ---
+// -------------------------------------
+//#RNU_RES_E
+OutArg = [];
+for counteroutputargs = 1:NOutArg
+ OutArg(counteroutputargs).Name=OutputArgumentNames(counteroutputargs);
+ OutArg(counteroutputargs).Scope=OutputArgumentScope(counteroutputargs);
+end
+
+// ------------------------
+// --- Print Some Info. ---
+// ------------------------
+
+PrintStringInfo('N Input Arguments: '+string(NInArg),ReportFileName,'file','y','n');
+PrintStringInfo('N Output Arguments: '+string(NOutArg),ReportFileName,'file','y');
+ //#RNU_RES_E
+ for counterinputargs = 1:NInArg
+ //#RNU_RES_B
+ PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+InArg(counterinputargs).Name,...
+ ReportFileName,'file','y','n');
+ PrintStringInfo(' Scope: '+InArg(counterinputargs).Scope,...
+ ReportFileName,'file','y','n');
+ //#RNU_RES_E
+ end
+ for counteroutputargs = 1:NOutArg
+ //#RNU_RES_B
+ PrintStringInfo('Output Argument Number '+string(counteroutputargs)+': '+OutArg(counteroutputargs).Name,...
+ ReportFileName,'file','y','n');
+ //PrintStringInfo(' Scope: '+ OutArg(counterinputargs).Scope,ReportFileName,'file','y','n');
+ //#RNU_RES_E
+ end
+
+NOutArg_mod = NOutArg;
+
+FunTypeAnnot = '';
+FunSizeAnnot = '';
+NLhsArg = 0;
+LhsArg = [];
+PrintStringInfo('...Equal not found.',ReportFileName,'file','y');
+
+PrintStringInfo('***Analyzing Input Arguments***',ReportFileName,'file','y');
+UpdatedInArg = InArg;
+[InArg,SharedInfo] = ST_GetInArgInfo(InArg,NInArg,FileInfo,SharedInfo,'OpEqual');
+
+NCol = NCol + 1;
+NRow = NInArg/NCol;
+
+com_type = 0;
+for i = 1:NInArg
+ if InArg(i).Type == 'z'
+ com_type = 1;
+ elseif InArg(i).Type == 'c'
+ com_type = 2;
+ end
+end
+
+
+if com_type == 0
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = InArg(1).Type;
+ OutArg(1).Size(1) = string(NCol);
+ OutArg(1).Size(2) = string(NRow);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+elseif com_type == 1
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = 'z';
+ OutArg(1).Size(1) = string(NCol);
+ OutArg(1).Size(2) = string(NRow);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+else
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = 'c';
+ OutArg(1).Size(1) = string(NCol);
+ OutArg(1).Size(2) = string(NRow);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+end
+
+//--- Check for output Argument in symbol table ---//
+OutArg = ST_AnalyzeScope(OutArg,NOutArg,FileInfo,SharedInfo);
+
+//--- Put the output Argument in symbol table ---//
+ST_InsOutArg_Dup(InArg,NInArg,OutArg,NOutArg,com_type,FileInfo,SharedInfo,'all');
+
+
+endfunction
diff --git a/macros/ASTManagement/AST_HandleFunRC.sci b/macros/ASTManagement/AST_HandleFunRC.sci
new file mode 100644
index 0000000..d316924
--- /dev/null
+++ b/macros/ASTManagement/AST_HandleFunRC.sci
@@ -0,0 +1,178 @@
+// 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: Ukasha Noor
+// Organization: FOSSEE, IIT Bombay
+// Email: toolbox@scilab.in
+
+function [FileInfo,SharedInfo] = AST_HandleFunRC(FileInfo,SharedInfo)
+
+SCI2CNInArgCheck(argn(2),2,2)
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+
+// -----------------------
+// --- Initialization. ---
+// -----------------------
+nxtscifunname = SharedInfo.NextSCIFunName;
+nxtscifunnumber = SharedInfo.NextSCIFunNumber;
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+global SCI2CSTACK
+global StackPosition;
+global STACKDEDUG
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+// ------------------------------
+// --- Read output parameters. --
+// ------------------------------
+LhsField = AST_PopASTStack();
+NOutArg = 0;
+OutputArgumentNames = [];
+OutputArgumentScope = [];
+while (LhsField ~= 'Lhs :')
+ NOutArg = NOutArg + 1;
+ [OutputArgumentNames(NOutArg),OutputArgumentScope(NOutArg)] = AST_ExtractNameAndScope(LhsField);
+ LhsField = AST_PopASTStack();
+ if (LhsField == 'Expression:')
+ error(9999, 'Found Expression: before Lhs');
+ elseif (LhsField == 'Equal')
+ error(9999, 'Found Equal before Lhs');
+ end
+end
+
+// ------------------------------
+// --- Read input parameters. ---
+// ------------------------------
+
+
+RhsField = AST_PopASTStack();
+InputArgumentNames = [];
+InputArgumentScope = [];
+NInArg = 0;
+InArg = [];
+while (RhsField ~= 'Expression:')
+ NInArg = NInArg + 1;
+ if RhsField <> 'Operands:'
+ [InputArgumentNames(NInArg),InputArgumentScope(NInArg)] = AST_ExtractNameAndScope(RhsField);
+ end
+ //InArg(NInArg) = RhsField;
+ RhsField = AST_PopASTStack();
+end
+InputArgumentNames = SCI2Cflipud(InputArgumentNames);
+InputArgumentScope = SCI2Cflipud(InputArgumentScope);
+
+
+// -------------------------------------
+// --- Generate the InArg structure. ---
+// -------------------------------------
+//#RNU_RES_E
+for counterinputargs = 1:NInArg
+ InArg(counterinputargs).Name=InputArgumentNames(counterinputargs);
+ InArg(counterinputargs).Scope=InputArgumentScope(counterinputargs);
+end
+
+//#RNU_RES_B
+// -------------------------------------
+// --- Generate the InArg structure. ---
+// -------------------------------------
+//#RNU_RES_E
+OutArg = [];
+for counteroutputargs = 1:NOutArg
+ OutArg(counteroutputargs).Name=OutputArgumentNames(counteroutputargs);
+ OutArg(counteroutputargs).Scope=OutputArgumentScope(counteroutputargs);
+end
+
+
+// ------------------------
+// --- Print Some Info. ---
+// ------------------------
+
+PrintStringInfo('N Input Arguments: '+string(NInArg),ReportFileName,'file','y','n');
+PrintStringInfo('N Output Arguments: '+string(NOutArg),ReportFileName,'file','y');
+ //#RNU_RES_E
+ for counterinputargs = 1:NInArg
+ //#RNU_RES_B
+ PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+InArg(counterinputargs).Name,...
+ ReportFileName,'file','y','n');
+ PrintStringInfo(' Scope: '+InArg(counterinputargs).Scope,...
+ ReportFileName,'file','y','n');
+ //#RNU_RES_E
+ end
+ for counteroutputargs = 1:NOutArg
+ //#RNU_RES_B
+ PrintStringInfo('Output Argument Number '+string(counteroutputargs)+': '+OutArg(counteroutputargs).Name,...
+ ReportFileName,'file','y','n');
+ //PrintStringInfo(' Scope: '+ OutArg(counterinputargs).Scope,ReportFileName,'file','y','n');
+ //#RNU_RES_E
+ end
+
+NOutArg_mod = NOutArg;
+
+FunTypeAnnot = '';
+FunSizeAnnot = '';
+NLhsArg = 0;
+LhsArg = [];
+PrintStringInfo('...Equal not found.',ReportFileName,'file','y');
+
+PrintStringInfo('***Analyzing Input Arguments***',ReportFileName,'file','y');
+UpdatedInArg = InArg;
+[InArg,SharedInfo] = ST_GetInArgInfo(InArg,NInArg,FileInfo,SharedInfo,'OpEqual');
+
+size_count = 0;
+for i = 1:NInArg
+ size_count = size_count + eval(InArg(i).Size(2));
+end
+
+com_type = 0;
+for i = 1:NInArg
+ if InArg(i).Type == 'z'
+ com_type = 1;
+ elseif InArg(i).Type == 'c'
+ com_type = 2;
+ end
+end
+
+
+if com_type == 0
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = InArg(1).Type;
+ OutArg(1).Size(1) = '1'
+ OutArg(1).Size(2) = string(size_count);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+elseif com_type == 1
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = 'z';
+ OutArg(1).Size(1) = '1'
+ OutArg(1).Size(2) = string(size_count);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+else
+ PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
+ OutArg(1).Type = 'c';
+ OutArg(1).Size(1) = '1'
+ OutArg(1).Size(2) = string(size_count);
+ OutArg(1).Dimension = 2;
+ OutArg(1).Value = InArg(1).Value;
+ OutArg(1).FindLike = InArg(1).FindLike;
+end
+
+//--- Check for output Argument in symbol table ---//
+OutArg = ST_AnalyzeScope(OutArg,NOutArg,FileInfo,SharedInfo);
+
+//--- Put the output Argument in symbol table ---//
+ST_InsOutArg_Dup(InArg,NInArg,OutArg,NOutArg,com_type,FileInfo,SharedInfo,'all');
+
+
+endfunction
diff --git a/macros/ASTManagement/AST_HandleIfElse.sci b/macros/ASTManagement/AST_HandleIfElse.sci
index 5373adf..2b549ed 100644
--- a/macros/ASTManagement/AST_HandleIfElse.sci
+++ b/macros/ASTManagement/AST_HandleIfElse.sci
@@ -74,11 +74,13 @@ global STACKDEDUG
// ---------------------------------------------------
//#RNU_RES_E
if (ASTIfExpType~='else')
- [IfCondArg,NIfCondArg] = AST_ParseIfExprStruct(FileInfo,SharedInfo,ASTIfExpType);
+ [IfCondArg,NIfCondArg,Op,NOp] = AST_ParseIfExprStruct(FileInfo,SharedInfo,ASTIfExpType);
else
// "else" type doesn't contain any condition to test.
IfCondArg = '';
NIfCondArg = 0;
+ Op = '';
+ NOp = 0;
end
//#RNU_RES_B
@@ -87,6 +89,6 @@ end
// -----------------------------
// --- Generate the C code for if/elseif Expression. ---
//#RNU_RES_E
-SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,ASTIfExpType,FileInfo,SharedInfo);
+SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,Op,NOp,ASTIfExpType,FileInfo,SharedInfo);
endfunction
diff --git a/macros/ASTManagement/AST_HandleRC.sci b/macros/ASTManagement/AST_HandleRC.sci
new file mode 100644
index 0000000..2a6cbc3
--- /dev/null
+++ b/macros/ASTManagement/AST_HandleRC.sci
@@ -0,0 +1,88 @@
+function [RhsNames,RhsScope,NRhs] = AST_HandleRC(FileInfo,SharedInfo)
+// function [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,ASTFunType)
+// -----------------------------------------------------------------
+// #RNU_RES_B
+// Handles the EndFuncall, EndOperation and EndEqual tags of the AST.
+// ASTFunType can be 'Funcall', 'Operation', 'Equal'
+// Structure of Funcall:
+// overloading function for "funcall" type tlist string function
+// this is a node of the AST
+// fields:
+// rhs : a list
+// name : string, the name of the function
+// lhsnb: number, the number of function lhs
+// txt=['Funcall : '+F.name
+// ' #lhs : '+string(F.lhsnb)
+// ' Rhs : '
+// ' '+objectlist2string(F.rhs)
+// 'EndFuncall'
+// ]
+// #RNU_RES_E
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 11-Apr-2007 -- Raffaele Nutricato: Author.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+SCI2CNInArgCheck(argn(2),2,2)
+
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+
+
+global SCI2CSTACK
+global StackPosition;
+global STACKDEDUG
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+
+// ------------------------------
+// --- Read input parameters. ---
+// ------------------------------
+cntpop = 1;
+NRhs = 0;
+RhsField(cntpop) = AST_PopASTStack();
+RhsNames = [];
+while (RhsField(cntpop) ~= 'Expression:')
+ NRhs = NRhs + 1;
+ if RhsField(cntpop) <> 'Operands:'
+ [RhsNames(NRhs),RhsScope(NRhs)] = AST_ExtractNameAndScope(RhsField(cntpop));
+ end
+ cntpop = cntpop + 1;
+ RhsField(cntpop) = AST_PopASTStack();
+end
+RhsNames = SCI2Cflipud(RhsNames);
+RhsScope = SCI2Cflipud(RhsScope);
+
+// --- Repush everything into the stack. ---
+for cntpush = cntpop:-1:1
+ if RhsField(cntpush) <> 'Operands:'
+ AST_PushASTStack(RhsField(cntpush));
+ end
+end
+
+
+//for counterinputargs = 1:NRhs
+ //#RNU_RES_B
+ //disp(counterinputargs);
+ // PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+RhsNames(counterinputargs).Name,...
+ // ReportFileName,'file','y');
+ //PrintStringInfo(' Scope: '+RhsNames(counterinputargs).Scope,...
+ // ReportFileName,'file','y');
+ //#RNU_RES_E
+//end
+
+endfunction
diff --git a/macros/ASTManagement/AST_HandleWhileStatem.sci b/macros/ASTManagement/AST_HandleWhileStatem.sci
index 79fb516..d8c2f73 100644
--- a/macros/ASTManagement/AST_HandleWhileStatem.sci
+++ b/macros/ASTManagement/AST_HandleWhileStatem.sci
@@ -36,6 +36,8 @@ global SCI2CSTACK
global StackPosition;
global STACKDEDUG
+IfCondArg = [];
+NIfCondArg = 0;
// ------------------------------
// --- Check input arguments. ---
@@ -70,36 +72,40 @@ PrintStringInfo(' Redirecting C code to: '+FileInfo.Funct(nxtscifunnumber).CPa
// --- Generate C code. ---
// ------------------------
//#RNU_RES_E
-if(SharedInfo.WhileExpr.CondVar == '')
- //#RNU_RES_B
- // It means that we are handling something like while(a) or while(1)
- // The while condition variable is generated by the HandleEndGenFun.
- //#RNU_RES_E
-
- // --- Pop the name of the condition variable or number. ---
- Pop1 = AST_PopASTStack();
-
- [ArgName,ArgScope] = AST_ExtractNameAndScope(Pop1);
- if (length(ArgName) == 0)
- PrintStringInfo(' ',ReportFileName,'both','y');
- PrintStringInfo('SCI2CERROR: Expected while(variable) or while(number).','','stdout','y');
- PrintStringInfo('SCI2CERROR: Expected a variable or number in the AST while expression.','','stdout','y');
- PrintStringInfo('SCI2CERROR: Report this error to http://forge.scilab.org/index.php/p/scilab2c/issues/.','','stdout','y');
- PrintStringInfo(' ',ReportFileName,'both','y');
- error(9999, 'Expected a conditional variable in the while expression');
+flagendpop = 0;
+IfExprField = AST_PopASTStack();
+
+NOp=0;
+Op=[];
+while (flagendpop == 0)
+ if (IfExprField~='')
+ if (IfExprField=='WhileExpression:')
+ flagendpop = 1;
+ // Pop Again the If tag from the AST.
+ IfExprField = AST_PopASTStack();
+ elseif (IfExprField=='Operands:')
+ flagendpop = 0;
+ g = AST_PopASTStack();
+ else
+ if (IfExprField=='&&' | IfExprField=='||')
+ NOp = NOp + 1;
+ Op(NOp) = IfExprField;
+ //PrintStringInfo('operators are '+Op(NOp),ReportFileName,'file','y');
+ else
+ NIfCondArg = NIfCondArg + 1;
+ IfCondArg(NIfCondArg) = IfExprField;
+ end
+ //[IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
+ //[IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
+ end
end
+ IfExprField = AST_PopASTStack();
+ PrintStringInfo('operators are '+IfExprField,ReportFileName,'file','y');
+end
- SharedInfo.WhileExpr.CondVar = ArgName;
- //#RNU_RES_B
- // --- Repush strings into the AST stack. ---
- //#RNU_RES_E
-
- AST_PushASTStack(Pop1);
+IfCondArg = SCI2Cflipud(IfCondArg);
-elseif (SharedInfo.WhileExpr.DimCondVar > 0)
- error(9999, 'Cannot manage while with matrix conditions');
-end
-SharedInfo = C_WhileExpression(FileInfo,SharedInfo);
+SharedInfo = C_WhileExpression(IfCondArg,NIfCondArg,Op,NOp,FileInfo,SharedInfo);
// --------------------------
// --- Update SharedInfo. ---
diff --git a/macros/ASTManagement/AST_ParseEqualStruct.sci b/macros/ASTManagement/AST_ParseEqualStruct.sci
index fa76a01..68bc3da 100644
--- a/macros/ASTManagement/AST_ParseEqualStruct.sci
+++ b/macros/ASTManagement/AST_ParseEqualStruct.sci
@@ -123,7 +123,7 @@ end
// ------------------------
//#RNU_RES_B
PrintStringInfo('Function Name: '+FunctionName,ReportFileName,'file','y','n');
-PrintStringInfo('N Intput Arguments: '+string(NInArg),ReportFileName,'file','y','n');
+PrintStringInfo('N Input Arguments: '+string(NInArg),ReportFileName,'file','y','n');
//#RNU_RES_E
if (SharedInfo.Equal.Nins > 0)
//#RNU_RES_B
diff --git a/macros/ASTManagement/AST_ParseFuncallStruct.sci b/macros/ASTManagement/AST_ParseFuncallStruct.sci
index 647a70d..3c322dd 100644
--- a/macros/ASTManagement/AST_ParseFuncallStruct.sci
+++ b/macros/ASTManagement/AST_ParseFuncallStruct.sci
@@ -87,6 +87,10 @@ NOutArg = eval(stripblanks(part(buffstring,10:length(buffstring))));
buffstring = AST_PopASTStack();
FunctionName = stripblanks(part(buffstring,12:length(buffstring)));
+//if (FunctionName == 'disp')
+ // NOutArg = 0;
+//end
+
// -------------------------------------
// --- Generate the InArg structure. ---
// -------------------------------------
diff --git a/macros/ASTManagement/AST_ParseIfExprStruct.sci b/macros/ASTManagement/AST_ParseIfExprStruct.sci
index a7da012..2bfb08d 100644
--- a/macros/ASTManagement/AST_ParseIfExprStruct.sci
+++ b/macros/ASTManagement/AST_ParseIfExprStruct.sci
@@ -1,4 +1,4 @@
-function [IfCondArg,NIfCondArg] = AST_ParseIfExprStruct(FileInfo,SharedInfo,ASTIfExpType)
+function [IfCondArg,NIfCondArg,Op,NOp] = AST_ParseIfExprStruct(FileInfo,SharedInfo,ASTIfExpType)
// function [IfCondArg,NIfCondArg] = AST_ParseIfExprStruct(FileInfo,SharedInfo,ASTIfExpType)
// -----------------------------------------------------------------
//#RNU_RES_B
@@ -63,13 +63,26 @@ global STACKDEDUG
// ------------------------------------
// --- Read if condition variables. ---
// ------------------------------------
+//OutArgOld=[];
+//OutArgNew=[];
+
+//for i = 1:3
+ // OutArgOld(i)=AST_PopASTStack();
+ //PrintStringInfo(' '+OutArgOld(i),ReportFileName,'file','y');
+//end
+//x = AST_PopASTStack();
+
+//OutArgNew = SCI2Cflipud(OutArgOld);
+
flagendpop = 0;
IfExprField = AST_PopASTStack();
+PrintStringInfo(' '+IfExprField+' '+ASTIfExpType,ReportFileName,'file','y');
if (ASTIfExpType=='if')
if (IfExprField=='Expression:')
flagendpop = 1;
// Pop Again the If tag from the AST.
IfExprField = AST_PopASTStack();
+ PrintStringInfo(' '+IfExprField,ReportFileName,'file','y');
end
elseif (ASTIfExpType=='elseif')
if (IfExprField=='Else If Expression')
@@ -78,31 +91,57 @@ elseif (ASTIfExpType=='elseif')
else
error(9999, 'Unknown ASTIfExpType ""'+ASTIfExpType+'"".');
end
-
+NOp=0;
+Op=[];
while (flagendpop == 0)
if (IfExprField~='')
if (ASTIfExpType=='if')
if (IfExprField=='Expression:')
flagendpop = 1;
+ //PrintStringInfo('hello dere '+IfExprField,ReportFileName,'file','y');
// Pop Again the If tag from the AST.
IfExprField = AST_PopASTStack();
+ elseif (IfExprField=='Operands:')
+ flagendpop = 0;
+ g = AST_PopASTStack();
else
+ if (IfExprField=='&&' | IfExprField=='||')
+ NOp = NOp + 1;
+ Op(NOp) = IfExprField;
+ //PrintStringInfo('operators are '+Op(NOp),ReportFileName,'file','y');
+ else
NIfCondArg = NIfCondArg + 1;
- [IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
+ IfCondArg(NIfCondArg) = IfExprField;
+ end
+ //[IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
end
elseif (ASTIfExpType=='elseif')
if (IfExprField=='Else If Expression')
flagendpop = 1;
+ //IfExprField = AST_PopASTStack();
else
- NIfCondArg = NIfCondArg + 1;
- IfCondArg(NIfCondArg) = IfExprField;
- [IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
+ if (IfExprField=='&&' | IfExprField=='||')
+ NOp = NOp + 1;
+ Op(NOp) = IfExprField;
+ elseif (IfExprField=='Operands:')
+ flagendpop = 0;
+ g = AST_PopASTStack();
+ else
+ NIfCondArg = NIfCondArg + 1;
+ IfCondArg(NIfCondArg) = IfExprField;
+ end
+ //[IfCondArg(NIfCondArg),tmpscope] = AST_ExtractNameAndScope(IfExprField);
end
end
end
+ if flagendpop == 0
IfExprField = AST_PopASTStack();
+ end
+ PrintStringInfo('operators are '+IfExprField,ReportFileName,'file','y');
end
+IfCondArg = SCI2Cflipud(IfCondArg);
+
//#RNU_RES_B
// -------------------------------------------
// --- Print some info in the report file. ---
diff --git a/macros/ASTManagement/AST_ParseOperStruct.sci b/macros/ASTManagement/AST_ParseOperStruct.sci
index a77317b..903f095 100644
--- a/macros/ASTManagement/AST_ParseOperStruct.sci
+++ b/macros/ASTManagement/AST_ParseOperStruct.sci
@@ -61,6 +61,17 @@ LabelFunctName = 'Operator: ';
FunctionName = stripblanks(part(buffstring,length(LabelFunctName)+1:length(buffstring)));
// Generate the proper function name.
FunctionName = Operator2FunName(FunctionName);
+PrintStringInfo(' '+FunctionName,ReportFileName,'file','y');
+
+if (FunctionName == 'OpLogAnd' | FunctionName=='OpLogOr')
+ NInArg = 0;
+ NOutArg = 0;
+ InArg=[];
+ //RhsField = AST_PopASTStack();
+ //PrintStringInfo('hello'+RhsField,ReportFileName,'file','y');
+ //RhsField = AST_PopASTStack();
+ return ;
+end
// ------------------------------
// --- Read input parameters. ---
diff --git a/macros/ASTManagement/GenOutArgNames.sci b/macros/ASTManagement/GenOutArgNames.sci
index 0e68383..7b62c79 100644
--- a/macros/ASTManagement/GenOutArgNames.sci
+++ b/macros/ASTManagement/GenOutArgNames.sci
@@ -32,6 +32,12 @@ SCI2CNInArgCheck(argn(2),9,9);
nxtscifunname = SharedInfo.NextSCIFunName;
nxtscifunnumber = SharedInfo.NextSCIFunNumber;
ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+
+global SCI2CSTACK
+global StackPosition;
+global STACKDEDUG
+
// #RNU_RES_B
PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
// #RNU_RES_E
@@ -43,47 +49,69 @@ OutArg = OldOutArg;
// ---------------------------------------------------------------------------------------
// At this step only the name of the output arguments can be generated. ---
//#RNU_RES_E
-if (NLhsArg > 0)
- //#RNU_RES_B
- // Use the equal Lhs names.
- PrintStringInfo('Using Equal Lhs names.',ReportFileName,'file','y');
- //#RNU_RES_E
- if (NLhsArg ~= NOutArg)
- error(9999, 'NLhsArg='+string(NLhsArg)+' must be equal to NOutArg='+string(NOutArg)+'.');
- end
- for counteroutputargs = 1:NOutArg
- OutArg(counteroutputargs).Name=LhsArg(counteroutputargs).Name;
- OutArg(counteroutputargs).Scope=LhsArg(counteroutputargs).Scope;
- end
+if (FunctionName ~= 'OpLogGt' & FunctionName ~= 'OpLogLt' & FunctionName ~= 'OpLogGe' & FunctionName ~= 'OpLogLe' & FunctionName ~= 'OpLogNe' & FunctionName ~= 'OpLogEq')
+ if (NLhsArg > 0)
+ //#RNU_RES_B
+ // Use the equal Lhs names.
+ PrintStringInfo('Using Equal Lhs names.',ReportFileName,'file','y');
+ //#RNU_RES_E
+ if (NLhsArg ~= NOutArg)
+ error(9999, 'NLhsArg='+string(NLhsArg)+' must be equal to NOutArg='+string(NOutArg)+'.');
+ end
+ for counteroutputargs = 1:NOutArg
+ OutArg(counteroutputargs).Name=LhsArg(counteroutputargs).Name;
+ OutArg(counteroutputargs).Scope=LhsArg(counteroutputargs).Scope;
+ end
+ else
+ //#RNU_RES_B
+ // Generate temporary variables.
+ PrintStringInfo('Generating temporary variables.',ReportFileName,'file','y');
+ //#RNU_RES_E
+ if ((sum(mtlb_strcmp(FunctionName,SharedInfo.Annotations.DataPrec)) > 0) & ...
+ (SharedInfo.SkipNextPrec == 1))
+ //#RNU_RES_B
+ PrintStringInfo(' Skipping code generating because already generated in the previous function.',ReportFileName,'file','y');
+ //#RNU_RES_E
+ for counteroutputargs = 1:NOutArg
+ OutArg(counteroutputargs).Name = InArg(counteroutputargs).Name;
+ end
+ elseif (mtlb_strcmp(FunctionName,'OpEqual'))
+ // do nothing.
+ //NUT: verifica questa parte di codice. e' sicuro che se ho equal gli oldoutarg contengono gia' il nome?
+ else
+ for counteroutputargs = 1:NOutArg
+ if ((SharedInfo.ASTReader.EnableTempVarsReuse == 1) & ...
+ (length(SharedInfo.ASTReader.ReusableTempVars) > 0))
+ TmpOutArgName = strcat([SharedInfo.ASTReader.TempVarsName,string(SharedInfo.ASTReader.ReusableTempVars(1))]);
+ SharedInfo.ASTReader.ReusableTempVars = SharedInfo.ASTReader.ReusableTempVars(2:$);
+ else
+ SharedInfo.ASTReader.UsedTempVars = SharedInfo.ASTReader.UsedTempVars + 1;
+ TmpOutArgName = strcat([SharedInfo.ASTReader.TempVarsName,string(SharedInfo.ASTReader.UsedTempVars)]);
+ end
+ OutArg(counteroutputargs).Name=TmpOutArgName;
+ end
+ end
+ end
else
- //#RNU_RES_B
- // Generate temporary variables.
- PrintStringInfo('Generating temporary variables.',ReportFileName,'file','y');
- //#RNU_RES_E
- if ((sum(mtlb_strcmp(FunctionName,SharedInfo.Annotations.DataPrec)) > 0) & ...
- (SharedInfo.SkipNextPrec == 1))
- //#RNU_RES_B
- PrintStringInfo(' Skipping code generating because already generated in the previous function.',ReportFileName,'file','y');
- //#RNU_RES_E
- for counteroutputargs = 1:NOutArg
- OutArg(counteroutputargs).Name = InArg(counteroutputargs).Name;
- end
- elseif (mtlb_strcmp(FunctionName,'OpEqual'))
- // do nothing.
- //NUT: verifica questa parte di codice. e' sicuro che se ho equal gli oldoutarg contengono gia' il nome?
- else
- for counteroutputargs = 1:NOutArg
- if ((SharedInfo.ASTReader.EnableTempVarsReuse == 1) & ...
- (length(SharedInfo.ASTReader.ReusableTempVars) > 0))
- TmpOutArgName = strcat([SharedInfo.ASTReader.TempVarsName,string(SharedInfo.ASTReader.ReusableTempVars(1))]);
- SharedInfo.ASTReader.ReusableTempVars = SharedInfo.ASTReader.ReusableTempVars(2:$);
- else
- SharedInfo.ASTReader.UsedTempVars = SharedInfo.ASTReader.UsedTempVars + 1;
- TmpOutArgName = strcat([SharedInfo.ASTReader.TempVarsName,string(SharedInfo.ASTReader.UsedTempVars)]);
- end
- OutArg(counteroutputargs).Name=TmpOutArgName;
- end
- end
+ for counterinputargs = 1:NInArg
+ tmppushstack=InArg(counterinputargs).Name;
+ PrintStringInfo(' Pushing in the AST stack: ""'+tmppushstack+'"".',ReportFileName,'file','y');
+ AST_PushASTStack(tmppushstack);
+ if FunctionName=='OpLogGt'
+ AST_PushASTStack('>');
+ elseif FunctionName=='OpLogGe'
+ AST_PushASTStack('>=');
+ elseif FunctionName=='OpLogLt'
+ AST_PushASTStack('<');
+ elseif FunctionName=='OpLogLe'
+ AST_PushASTStack('<=');
+ elseif FunctionName=='OpLogEq'
+ AST_PushASTStack('==');
+ elseif FunctionName=='OpLogNe'
+ AST_PushASTStack('!=');
+ end
+ end
+ s = AST_PopASTStack();
+ PrintStringInfo(' Pushing in the AST stack: ""'+s+'"".',ReportFileName,'file','y');
end
-
endfunction
diff --git a/macros/ASTManagement/_funcall_string.sci b/macros/ASTManagement/_funcall_string.sci
index faeb81d..0ee9701 100644
--- a/macros/ASTManagement/_funcall_string.sci
+++ b/macros/ASTManagement/_funcall_string.sci
@@ -6,10 +6,19 @@ function txt=%funcall_string(F)
// name : string, the name of the function
// lhsnb: number, the number of function lhs
+if F.name <> 'disp'
txt=['Funcall : '+F.name
' #lhs : '+string(F.lhsnb)
' Rhs : '
' '+objectlist2string(F.rhs)
'EndFuncall'
]
+else
+txt=['Funcall : '+F.name
+ ' #lhs : '+'0'
+ ' Rhs : '
+ ' '+objectlist2string(F.rhs)
+ 'EndFuncall'
+ ]
+end
endfunction
diff --git a/macros/ASTManagement/_operatio_string.sci b/macros/ASTManagement/_operatio_string.sci
index 8421a3f..e933233 100644
--- a/macros/ASTManagement/_operatio_string.sci
+++ b/macros/ASTManagement/_operatio_string.sci
@@ -10,4 +10,4 @@ function txt=%operatio_string(O)
' Operator: '+O.operator
'EndOperation'
]
-endfunction
\ No newline at end of file
+endfunction
diff --git a/macros/ASTManagement/_operation_string.sci b/macros/ASTManagement/_operation_string.sci
index 84f5ce3..c9282f6 100644
--- a/macros/ASTManagement/_operation_string.sci
+++ b/macros/ASTManagement/_operation_string.sci
@@ -10,4 +10,4 @@ function txt=%operation_string(O)
' Operator: '+O.operator
'EndOperation'
]
-endfunction
\ No newline at end of file
+endfunction
diff --git a/macros/ASTManagement/lib b/macros/ASTManagement/lib
index b3633d5..2ef9e23 100644
Binary files a/macros/ASTManagement/lib and b/macros/ASTManagement/lib differ
diff --git a/macros/ASTManagement/names b/macros/ASTManagement/names
index a1aafbc..6deb883 100644
--- a/macros/ASTManagement/names
+++ b/macros/ASTManagement/names
@@ -21,6 +21,7 @@ AST_ExtractNameAndScope
AST_GetASTFile
AST_GetFuncallPrm
AST_GetPrecAndLhsArg
+AST_HandleCC
AST_HandleEOL
AST_HandleEndFor
AST_HandleEndGenFun
@@ -28,8 +29,11 @@ AST_HandleEndProgram
AST_HandleEndWhile
AST_HandleFor
AST_HandleForStatem
+AST_HandleFunCC
+AST_HandleFunRC
AST_HandleHeader
AST_HandleIfElse
+AST_HandleRC
AST_HandleWhileExpr
AST_HandleWhileStatem
AST_ParseEqualStruct
diff --git a/macros/CCodeGeneration/C_GenDeclarations_Dup.sci b/macros/CCodeGeneration/C_GenDeclarations_Dup.sci
new file mode 100644
index 0000000..475e2e0
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenDeclarations_Dup.sci
@@ -0,0 +1,187 @@
+function Cdeclaration = C_GenDeclarations_Dup(InArg,NInArg,com_type,ArgStruct,CDeclarationFileName,IndentLevel,ReportFileName,FlagExt,ResizeApproach)
+// function Cdeclaration = C_GenDeclarations(ArgStruct,CDeclarationFileName,IndentLevel,ReportFileName,FlagExt,ResizeApproach)
+// -----------------------------------------------------------------
+// //NUT: add description here
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 27-Oct-2007 -- Raffaele Nutricato: Author.
+// 10-Jun-2008 -- Raffaele Nutricato: adapted to work with realloc function.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// Generate C corresponding declaration given some information in ArgStruct
+//
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),9,9);
+// #RNU_RES_B
+//NUT: ilnome di questa funzione va cambiato perche' le dichiarazioni le fanno anche i for e i while.
+
+PrintStringInfo(' ',ReportFileName,'file','y');
+PrintStringInfo('***Generating C declaration***',ReportFileName,'file','y');
+// #RNU_RES_E
+
+Cdeclaration = '';
+if (ArgStruct.Dimension > 0)
+ if (FlagExt == 1)
+ Cdeclaration(1) = 'extern ';
+ Cdeclaration(2) = 'extern ';
+ else
+ Cdeclaration(1) = '';
+ Cdeclaration(2) = '';
+ end
+// #RNU_RES_B
+//NUT: vedi Mem_Alloc_Out per maggiori info sulla rimozione della temp nella if
+// if ((ArgStruct.Scope=='Temp') | (ArgStruct.FindLike == -1) | (isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F))
+// #RNU_RES_E
+ if (ArgStruct.Type=='g')
+// if (isnan(ArgStruct.Value) )
+ if ((isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F) )
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' * '+ArgStruct.Name+';';
+ else
+ if ((FlagExt == 1) | (isnan(ArgStruct.Value)))
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' '+ArgStruct.Name+'['+ArgStruct.Size(1)+'*'+ArgStruct.Size(2)+'];';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' '+ArgStruct.Name+'['+ArgStruct.Size(1)+'*'+ArgStruct.Size(2)+'] = {'+ArgStruct.Value+'};';
+ end
+ end
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size[2] = {'+ArgStruct.Size(1)+','+ArgStruct.Size(2)+'};';
+ elseif ((ArgStruct.FindLike == -1) | ...
+ (isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F) | ...
+ (ResizeApproach=='REALLOC_ALL_RESIZE_ALL' & ArgStruct.Type~='g'))
+// #RNU_RES_B
+//RNU sulle stringhe non ho ancora deciso se applicare la realloc.
+// Generate only the pointer that will be used by the malloc function.
+// #RNU_RES_E
+ if (FlagExt == 1)
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+'* '+...
+ ArgStruct.Name+';';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+'* '+...
+ ArgStruct.Name+' = NULL;';
+ end
+// Declare the Size array
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size[2];';
+ else
+// Declare the array with its size.
+ computedSize = ArgStruct.Size(1);
+ computedSizeLength = size(ArgStruct.Size, '*');
+ computedSizeField = ArgStruct.Size(1);
+ for sizeIterator = 2:computedSizeLength;
+ computedSize = computedSize + ' * ' + ArgStruct.Size(sizeIterator);
+ computedSizeField = computedSizeField + ', ' + ArgStruct.Size(sizeIterator);
+ end
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+' '+ArgStruct.Name+'['+computedSize+']={';
+ row = eval(ArgStruct.Size(1))
+ col = eval(ArgStruct.Size(2))
+ if row == 1
+ if com_type == 0
+ for i = 1:NInArg-1
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',';
+ end
+ Cdeclaration(1) = Cdeclaration(1)+InArg(NInArg).Name+'};';
+ else
+ for i=1:NInArg-1
+ if InArg(i).Type <> 'z' & InArg(i).Type <> 'c'
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',0,';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',';
+ end
+ end
+ if InArg(NInArg).Type <> 'z' & InArg(NInArg).Type <> 'c'
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + ',0};'
+ else
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + '};'
+ end
+ end
+ else
+ if com_type == 0
+ for i = 1:col
+ for j = 0:row-1
+ if (j*col)+i ~= row*col
+ Cdeclaration(1) = Cdeclaration(1) + InArg(((j*col)+i)).Name + ',';
+ end
+ end
+ end
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + '};';
+ else
+ for i = 1:col
+ for j = 0:row-1
+ if (j*col)+i ~= row*col
+ if InArg(((j*col)+i)).Type <> 'z' & InArg(((j*col)+i)).Type <> 'c'
+ Cdeclaration(1) = Cdeclaration(1) + InArg(((j*col)+i)).Name + ',0,';
+ else
+ Cdeclaration(1) = Cdeclaration(1) + InArg(((j*col)+i)).Name + ',';
+ end
+ end
+ end
+ end
+ if InArg(NInArg).Type <> 'z' & InArg(NInArg).Type <> 'c'
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + ',0};';
+ else
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + '};';
+ end
+ end
+ end
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size['+string(computedSizeLength)+']';
+ if (FlagExt <> 1)
+ Cdeclaration(2) = Cdeclaration(2)+' = {'+computedSizeField+'}';
+ end
+ Cdeclaration(2) = Cdeclaration(2)+';';
+ end
+else
+ if (ArgStruct.Type == 'fn')
+ //do nothing. This is a function name. Will be declared in header file.
+ else
+ if (FlagExt == 1)
+ Cdeclaration(1) = 'extern ';
+ else
+ Cdeclaration(1) = '';
+ end
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+' '+ArgStruct.Name;
+ if (~isnan(ArgStruct.Value) & (FlagExt == 0))
+ if isreal(ArgStruct.Value)
+ Cdeclaration(1) = Cdeclaration(1)+' = '+SCI2Cstring(ArgStruct.Value);
+ else
+ if (ArgStruct.Type == 'z')
+ Cdeclaration(1) = Cdeclaration(1)+' = DoubleComplex('+SCI2Cstring(real(ArgStruct.Value))+','+SCI2Cstring(imag(ArgStruct.Value))+')';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+' = FloatComplex('+SCI2Cstring(real(ArgStruct.Value))+','+SCI2Cstring(imag(ArgStruct.Value))+')';
+ end
+ end
+ end
+ Cdeclaration(1) = Cdeclaration(1)+';';
+ end
+end
+
+
+// --------------------------------------------
+// --- Write C declaration into the C file. ---
+// --------------------------------------------
+PrintStringInfo(' ',CDeclarationFileName,'file','y');
+for cntdecl = 1:size(Cdeclaration, '*')
+ PrintStringInfo(' '+Cdeclaration(cntdecl),ReportFileName,'file','y');
+ PrintStringInfo(C_IndentBlanks(IndentLevel)+Cdeclaration(cntdecl),CDeclarationFileName,'file','y');
+end
+
+PrintStringInfo(' Writing C declaration in: '+CDeclarationFileName,ReportFileName,'file','y');
+PrintStringInfo(' ',CDeclarationFileName,'file','y');
+
+endfunction
+// #RNU_RES_B
+//NUT: dove sta il controllo che verifica se dopo aver dichiarato una local A[10] essa viene utilizzata
+//NUT: per memorizzare un A = sin(B) dove B[11]??
+// #RNU_RES_E
diff --git a/macros/CCodeGeneration/C_GenerateMakefile.sci b/macros/CCodeGeneration/C_GenerateMakefile.sci
index 7dfb4da..3b977bd 100644
--- a/macros/CCodeGeneration/C_GenerateMakefile.sci
+++ b/macros/CCodeGeneration/C_GenerateMakefile.sci
@@ -70,7 +70,7 @@ else
PrintStringInfo('CXX = arm-linux-gnueabihf-g++ ',FileInfo.MakefileFilename,'file','y','y');
PrintStringInfo('CFLAGS = -Wall -pedantic -g -I $(HSRCDIR) -I $(ISRCDIR) -L $(LIBDIR)',FileInfo.MakefileFilename,'file','y','y');
PrintStringInfo('CXXFLAGS = -Wall -pedantic -g -I $(HSRCDIR) -I $(ISRCDIR) -L $(LIBDIR)',FileInfo.MakefileFilename,'file','y','y');
- PrintStringInfo('LDFLAGS = -llapack -lrefblas -lgfortran -lwiringPi',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('LDFLAGS = -llapack -lrefblas -lgfortran -lwiringPi -lwiringPiDev -lrt -lpthread',FileInfo.MakefileFilename,'file','y','y');
else
PrintStringInfo('CC = gcc',FileInfo.MakefileFilename,'file','y','y');
PrintStringInfo('CXX = g++',FileInfo.MakefileFilename,'file','y','y');
@@ -78,6 +78,25 @@ else
PrintStringInfo('CXXFLAGS = -Wall -pedantic -g -I $(HSRCDIR) -I $(ISRCDIR) -L $(LIBDIR)',FileInfo.MakefileFilename,'file','y','y');
PrintStringInfo('LDFLAGS = -lblas -llapack -lm ',FileInfo.MakefileFilename,'file','y','y');
end
+
+ //If ode function is used, add libgsl.
+ if(size(SharedInfo.Includelist) <> 0)
+ if((mtlb_strcmp(part(SharedInfo.Includelist(1),1:5),'odefn') == %T))
+ if(target == 'RPi')
+ PrintStringInfo('LDFLAGS = -lgsl -lcblas',FileInfo.MakefileFilename,'file','y','y');
+ else
+ PrintStringInfo('LDFLAGS = -lgsl',FileInfo.MakefileFilename,'file','y','y');
+ end
+
+ end
+ end
+
+ if (target == 'RPi')
+ PrintStringInfo('LDFLAGS += -llapack -lrefblas -lgfortran -lwiringPi',FileInfo.MakefileFilename,'file','y','y');
+ else
+ PrintStringInfo('LDFLAGS += -lblas -llapack -lm ',FileInfo.MakefileFilename,'file','y','y');
+ end
+
if(SharedInfo.OpenCVUsed == %T)
PrintStringInfo('LDFLAGS += -lopencv_calib3d -lopencv_contrib -lopencv_features2d -lopencv_flann -lopencv_gpu',FileInfo.MakefileFilename,'file','y','y');
PrintStringInfo('LDFLAGS += -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree',FileInfo.MakefileFilename,'file','y','y');
diff --git a/macros/CCodeGeneration/C_GenerateMkfle_arduino.sci b/macros/CCodeGeneration/C_GenerateMkfle_arduino.sci
new file mode 100644
index 0000000..b43eb44
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateMkfle_arduino.sci
@@ -0,0 +1,12 @@
+function C_GenerateMkfle_arduino(FileInfo,SharedInfo)
+
+ PrintStringInfo('ARDUINO_DIR = /usr/share/arduino',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('ARDMK_DIR = /usr/share/arduino',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('AVR_TOOLS_DIR = /usr',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('BOARD_TAG = ' + SharedInfo.Board_name ,FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('USER_LIB_PATH = ../',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('ARDUINO_LIBS = ../src/c ../includes ../interfaces ../ Wire',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('ARDUINO_PORT = /dev/ttyACM0',FileInfo.MakefileFilename,'file','y','y');
+ PrintStringInfo('include /usr/share/arduino/Arduino.mk',FileInfo.MakefileFilename,'file','y','y');
+
+endfunction
diff --git a/macros/CCodeGeneration/C_IfExpression.sci b/macros/CCodeGeneration/C_IfExpression.sci
index 48a0538..359b788 100644
--- a/macros/CCodeGeneration/C_IfExpression.sci
+++ b/macros/CCodeGeneration/C_IfExpression.sci
@@ -1,4 +1,4 @@
-function SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,ASTIfExpType,FileInfo,SharedInfo)
+function SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,Op,NOp,ASTIfExpType,FileInfo,SharedInfo)
// function SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,ASTIfExpType,FileInfo,SharedInfo)
// -----------------------------------------------------------------
// //NUT: add description here
@@ -19,12 +19,16 @@ function SharedInfo = C_IfExpression(IfCondArg,NIfCondArg,ASTIfExpType,FileInfo,
// ------------------------------
// --- Check input arguments. ---
// ------------------------------
-SCI2CNInArgCheck(argn(2),5,5);
+SCI2CNInArgCheck(argn(2),7,7);
+
+//global SCI2CSTACK
+//global StackPosition;
+//global STACKDEDUG
// --- Check NIfCondArg value. ---
-if ((NIfCondArg ~= 1) & (ASTIfExpType~='else'))
- error(9999, 'Cannot manage ""if/elseif"" with a number of condition variables not equal to 1.');
-end
+//if ((NIfCondArg ~= 1) & (ASTIfExpType~='else'))
+ // error(9999, 'Cannot manage ""if/elseif"" with a number of condition variables not equal to 1.');
+//end
// -----------------------
// --- Initialization. ---
@@ -37,7 +41,7 @@ CPass1FileName = FileInfo.Funct(nxtscifunnumber).CPass1FileName;
// #RNU_RES_B
PrintStringInfo(' ',ReportFileName,'file','y');
-PrintStringInfo('***Generating C code***',ReportFileName,'file','y');
+PrintStringInfo('***Generating C code***'+ string(NIfCondArg),ReportFileName,'file','y');
// #RNU_RES_E
// ---------------------------
// --- End Initialization. ---
@@ -66,10 +70,23 @@ if SCI2Cstrncmps1size(ASTIfExpType,'else')
SharedInfo = C_IfElseBlocks(FileInfo,SharedInfo,'out');
end
+i=1;
+k=1;
CCall ='';
CCall = CCall+CFunName;
if (ASTIfExpType~='else')
- CCall = CCall+'('+IfCondArg(1)+')';
+ CCall = CCall+'(';
+ while i <= NIfCondArg
+ CCall = CCall + IfCondArg(i) + ' ';
+ //d = modulo(i,3);
+ //PrintStringInfo(' '+string(i)+string(d),'file','y');
+ if (modulo(i,3)==0 & i<>NIfCondArg)
+ CCall = CCall + Op(k) + ' ';
+ k = k + 1;
+ end
+ i = i + 1;
+ end
+ CCall = CCall+')';
end
PrintStringInfo(' '+CCall,ReportFileName,'file','y');
PrintStringInfo(C_IndentBlanks(SharedInfo.NIndent)+CCall,CPass1FileName,'file','y');
diff --git a/macros/CCodeGeneration/C_WhileExpression.sci b/macros/CCodeGeneration/C_WhileExpression.sci
index edd2830..368ccff 100644
--- a/macros/CCodeGeneration/C_WhileExpression.sci
+++ b/macros/CCodeGeneration/C_WhileExpression.sci
@@ -1,4 +1,4 @@
-function SharedInfo = C_WhileExpression(FileInfo,SharedInfo)
+function SharedInfo = C_WhileExpression(IfCondArg,NIfCondArg,Op,NOp,FileInfo,SharedInfo)
// function SharedInfo = C_WhileExpression(FileInfo,SharedInfo)
// -----------------------------------------------------------------
// //NUT: add description here
@@ -19,7 +19,7 @@ function SharedInfo = C_WhileExpression(FileInfo,SharedInfo)
// ------------------------------
// --- Check input arguments. ---
// ------------------------------
-SCI2CNInArgCheck(argn(2),2,2);
+SCI2CNInArgCheck(argn(2),6,6);
// -----------------------
// --- Initialization. ---
@@ -63,7 +63,7 @@ for cntstr = 1:NumCStrings
// Epilogue
if (length(C_Strings(cntstr)) == 0)
C_Strings(cntstr) = ' '; // RNU for Bruno: If I don't do that I get a PrintStringInfo error related to mputstr.
- // Function not defined for given argument type(s),
+ // Function not defined for given argument type(s),
// check arguments or define function %0_mputstr for overloading.
end
PrintStringInfo(C_Strings(cntstr),CPass1WhileEpilFileName ,'file','y','n');
@@ -76,7 +76,27 @@ PrintStringInfo('}',CPass1WhileEpilFileName ,'file','y');
// ------------------------------
// --- Insert for expression. ---
// ------------------------------
-CCall = 'while('+SharedInfo.WhileExpr.CondVar+')';
+//CCall = 'while('+SharedInfo.WhileExpr.CondVar+')';
+//PrintStringInfo(C_IndentBlanks(SharedInfo.NIndent)+CCall,CPass1FileName,'file','y');
+
+i=1;
+k=1;
+CCall ='';
+CCall = CCall+'while';
+ CCall = CCall+'(';
+ while i <= NIfCondArg
+ CCall = CCall + IfCondArg(i) + ' ';
+ //d = modulo(i,3);
+ //PrintStringInfo(' '+string(i)+string(d),'file','y');
+ if (modulo(i,3)==0 & i<>NIfCondArg)
+ CCall = CCall + Op(k) + ' ';
+ k = k + 1;
+ end
+ i = i + 1;
+ end
+ CCall = CCall+')';
+
+PrintStringInfo(' '+CCall,ReportFileName,'file','y');
PrintStringInfo(C_IndentBlanks(SharedInfo.NIndent)+CCall,CPass1FileName,'file','y');
// -------------------
diff --git a/macros/CCodeGeneration/GetClsFileName.sci b/macros/CCodeGeneration/GetClsFileName.sci
index 46f0820..d92a431 100644
--- a/macros/CCodeGeneration/GetClsFileName.sci
+++ b/macros/CCodeGeneration/GetClsFileName.sci
@@ -45,6 +45,7 @@ if SCI2Cfileexist(FileInfo.USER2CLibCAnnFun,tmpannfilename)
// #RNU_RES_B
// It is a C function of the USER2C library.
// #RNU_RES_E
+ PrintStringInfo('cUser2c',ReportFileName,'file','y');
FlagFoundAnnFile = 1;
AnnFileName = fullfile(FileInfo.USER2CLibCAnnFun,tmpannfilename);
SCI2CClassName = FL_GetFunctionClass(AnnFileName,SCI2CClassSpecifier,ReportFileName);
@@ -53,6 +54,7 @@ elseif SCI2Cfileexist(FileInfo.USER2CLibSCIAnnFun,tmpannfilename)
// #RNU_RES_B
// It is a scilab function of the USER2C library.
// #RNU_RES_E
+ PrintStringInfo('fUser2c',ReportFileName,'file','y');
FlagFoundAnnFile = 1;
AnnFileName = fullfile(FileInfo.USER2CLibSCIAnnFun,tmpannfilename);
SCI2CClassName = FL_GetFunctionClass(AnnFileName,SCI2CClassSpecifier,ReportFileName);
@@ -61,6 +63,7 @@ elseif (SCI2Cfileexist(FileInfo.SCI2CLibCAnnFun,tmpannfilename))
// #RNU_RES_B
// It is a C function of the SCI2C library.
// #RNU_RES_E
+ PrintStringInfo('csci2c',ReportFileName,'file','y');
FlagFoundAnnFile = 1;
AnnFileName = fullfile(FileInfo.SCI2CLibCAnnFun,tmpannfilename);
SCI2CClassName = FL_GetFunctionClass(AnnFileName,SCI2CClassSpecifier,ReportFileName);
@@ -69,6 +72,7 @@ elseif (SCI2Cfileexist(FileInfo.SCI2CLibSCIAnnFun,tmpannfilename))
// #RNU_RES_B
// It is a scilab function of the SCI2C library.
// #RNU_RES_E
+ PrintStringInfo('fsci2c',ReportFileName,'file','y');
FlagFoundAnnFile = 1;
AnnFileName = fullfile(FileInfo.SCI2CLibSCIAnnFun,tmpannfilename);
SCI2CClassName = FL_GetFunctionClass(AnnFileName,SCI2CClassSpecifier,ReportFileName);
diff --git a/macros/CCodeGeneration/JoinDeclarAndCcode.sci b/macros/CCodeGeneration/JoinDeclarAndCcode.sci
index 2c69f46..35607f6 100644
--- a/macros/CCodeGeneration/JoinDeclarAndCcode.sci
+++ b/macros/CCodeGeneration/JoinDeclarAndCcode.sci
@@ -146,10 +146,10 @@ PrintStringInfo('** --- C code. ---',CPass2FileName,'file','y');
PrintStringInfo('** ---------------',CPass2FileName,'file','y');
PrintStringInfo('*/',CPass2FileName,'file','y');
-if((SharedInfo.Target == "RPi") & (nxtscifunname == SharedInfo.SCIMainFunName))
+//if((SharedInfo.Target == "RPi") & (nxtscifunname == SharedInfo.SCIMainFunName))
//Add wiringPiSetup() function as it is required
- PrintStringInfo('wiringPiSetup();',CPass2FileName,'file','y');
-end
+// PrintStringInfo('wiringPiSetup();',CPass2FileName,'file','y');
+//end
// --- Copy the remaining part of V1 in V2. ---
while (~meof(CPass1V1FileFid))
// #RNU_RES_B
diff --git a/macros/CCodeGeneration/lib b/macros/CCodeGeneration/lib
index 2d5aef4..c5f171d 100644
Binary files a/macros/CCodeGeneration/lib and b/macros/CCodeGeneration/lib differ
diff --git a/macros/CCodeGeneration/names b/macros/CCodeGeneration/names
index efbb400..56caa81 100644
--- a/macros/CCodeGeneration/names
+++ b/macros/CCodeGeneration/names
@@ -2,10 +2,12 @@ C_FinalizeCode
C_ForExpression
C_Funcall
C_GenDeclarations
+C_GenDeclarations_Dup
C_GenerateFunName
C_GenerateLaunchScript
C_GenerateMakefile
C_GenerateMakefile_msvc
+C_GenerateMkfle_arduino
C_GenerateSCI2CHeader
C_IfElseBlocks
C_IfExpression
diff --git a/macros/ErrorMessages/lib b/macros/ErrorMessages/lib
index a99820c..6da193f 100644
Binary files a/macros/ErrorMessages/lib and b/macros/ErrorMessages/lib differ
diff --git a/macros/FunctionAnnotation/FA_FSFIRLIN_SZ.sci b/macros/FunctionAnnotation/FA_FSFIRLIN_SZ.sci
new file mode 100644
index 0000000..c1dc9e5
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_FSFIRLIN_SZ.sci
@@ -0,0 +1,9 @@
+function outp=FA_FSFIRLIN_SZ(in1sz2)
+ in1sz2=string(in1sz2);
+ in1sz=eval(in1sz2);
+ if(int(in1sz/2)==in1sz/2) then
+ outp=string(4*in1sz+1);
+ else
+ outp=string(4*in1sz+3);
+ end
+endfunction
diff --git a/macros/FunctionAnnotation/FA_GetFunAnn.sci b/macros/FunctionAnnotation/FA_GetFunAnn.sci
index d11e3ce..3fadd1f 100644
--- a/macros/FunctionAnnotation/FA_GetFunAnn.sci
+++ b/macros/FunctionAnnotation/FA_GetFunAnn.sci
@@ -52,7 +52,7 @@ FunSizeAnnot = '';
// ---------------------------------------------
// --- Open the .sci file (read only). ---
inclsfid = SCI2COpenFileRead(SCI2CClassFileName);
-
+PrintStringInfo(' '+string(inclsfid),ReportFileName,'file','y');
// #RNU_RES_B
// --- Loop over the lines of the input file. ---
// Position file pointer to the desired NInArg/NOutArg section,
@@ -212,5 +212,6 @@ mclose(inclsfid);
// -------------------------------------------------
// --- End Read the annotations of the function. ---
// -------------------------------------------------
+PrintStringInfo(' end of annotation '+string(NOutArg_mod),ReportFileName,'file','y');
endfunction
diff --git a/macros/FunctionAnnotation/FA_INSZ_RPI.sci b/macros/FunctionAnnotation/FA_INSZ_RPI.sci
new file mode 100644
index 0000000..da924ce
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_INSZ_RPI.sci
@@ -0,0 +1,5 @@
+function outp=FA_INSZ_RPI(in2val)
+ in2val=string(in2val);
+ l=length(in2val);
+ outp=l;
+endfunction
diff --git a/macros/FunctionAnnotation/FA_SZ_AMELL.sci b/macros/FunctionAnnotation/FA_SZ_AMELL.sci
new file mode 100644
index 0000000..6cf27b0
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_SZ_AMELL.sci
@@ -0,0 +1,9 @@
+function outp=FA_SZ_AMELL(in1sz)
+ in1sz=string(in1sz);
+ insz=eval(in1sz);
+ if(insz>1) then
+ outp=string(insz);
+ else
+ outp="1";
+ end
+endfunction
diff --git a/macros/FunctionAnnotation/FA_SZ_FULLRF.sci b/macros/FunctionAnnotation/FA_SZ_FULLRF.sci
deleted file mode 100644
index bc0eb6d..0000000
--- a/macros/FunctionAnnotation/FA_SZ_FULLRF.sci
+++ /dev/null
@@ -1,33 +0,0 @@
-function opout = FA_SZ_FULLRF(in1)
-
-// function opout = FA_SZ_U_SVA(in1,in2)
-// -----------------------------------------------------------------
-// Determines the number of rows of the output arguments
-// according to the second input argument.
-//
-// Input data:
-// in1: specifying a matrix or a symbol.
-// in2: string specifying a number or a symbol.
-//
-// Output data:
-// opout: string containing the computed size of U matrix.
-//
-// 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: Sandeep Gupta
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-//
-// -----------------------------------------------------------------
-in1 = string(in1)
-in1 = eval(in1)
-disp(in1)
-
-opout = 3;
-opout = string(opout);
-endfunction
diff --git a/macros/FunctionAnnotation/FA_SZ_MODSN.sci b/macros/FunctionAnnotation/FA_SZ_MODSN.sci
new file mode 100644
index 0000000..4a58e64
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_SZ_MODSN.sci
@@ -0,0 +1,11 @@
+function outt=FA_SZ_MODSN(in1sz)
+
+in1sz=string(in1sz);
+in1s=eval(in1sz)
+if(in1s>1) then
+ outt=string(in1s);
+else
+ outt=string(1);
+end
+
+endfunction
diff --git a/macros/FunctionAnnotation/FA_SZ_ROW_COLUMN_CAT.sci b/macros/FunctionAnnotation/FA_SZ_ROW_COLUMN_CAT.sci
index 50b897e..527217a 100644
--- a/macros/FunctionAnnotation/FA_SZ_ROW_COLUMN_CAT.sci
+++ b/macros/FunctionAnnotation/FA_SZ_ROW_COLUMN_CAT.sci
@@ -27,7 +27,7 @@ function outsize = FA_SZ_ROW_COLUMN_CAT(inval,in1size,in2size)
// ------------------------------
// --- Check input arguments. ---
// ------------------------------
-SCI2CNInArgCheck(argn(1),3,3);
+SCI2CNInArgCheck(argn(2),3,3);
in1size = string(in1size);
diff --git a/macros/FunctionAnnotation/FA_SZ_U_SVA.sci b/macros/FunctionAnnotation/FA_SZ_U_SVA.sci
index 695bef0..3b8b25c 100644
--- a/macros/FunctionAnnotation/FA_SZ_U_SVA.sci
+++ b/macros/FunctionAnnotation/FA_SZ_U_SVA.sci
@@ -26,8 +26,8 @@ function opout = FA_SZ_U_SVA(in1,in2)
// -----------------------------------------------------------------
//in1 = string(in1);
-disp(in1)
-disp(in2)
+// disp(in1)
+// disp(in2)
//in1 = eval(in1);
//in2 = string(in2);
//in2 = eval(in2);
diff --git a/macros/FunctionAnnotation/FA_TP_ASCII.sci b/macros/FunctionAnnotation/FA_TP_ASCII.sci
new file mode 100644
index 0000000..e05dd7a
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_ASCII.sci
@@ -0,0 +1,10 @@
+function outtp=FA_TP_ASCII(in1tp)
+
+in1tp=string(in1tp);
+if(in1tp=='g') then
+ outtp='u8';
+else
+ outtp='g';
+end
+
+endfunction
diff --git a/macros/FunctionAnnotation/FA_TP_MODSN.sci b/macros/FunctionAnnotation/FA_TP_MODSN.sci
new file mode 100644
index 0000000..f766b4e
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_TP_MODSN.sci
@@ -0,0 +1,10 @@
+function outtp=FA_TP_MODSN(in1tp)
+
+in1tp=string(in1tp);
+if(in1tp=='d') then
+ outtp='d';
+else
+ outtp='z';
+end
+
+endfunction
diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib
index 4f9081d..de2834d 100644
Binary files a/macros/FunctionAnnotation/lib and b/macros/FunctionAnnotation/lib differ
diff --git a/macros/FunctionAnnotation/names b/macros/FunctionAnnotation/names
index 3538b25..423c825 100644
--- a/macros/FunctionAnnotation/names
+++ b/macros/FunctionAnnotation/names
@@ -1,9 +1,11 @@
FA_ADD
FA_DIV
+FA_FSFIRLIN_SZ
FA_GetDefaultPrecision
FA_GetFunAnn
FA_GetOutArgInfo
FA_GetResizeApproach
+FA_INSZ_RPI
FA_INT
FA_MAX
FA_MIN
@@ -14,6 +16,7 @@ FA_SCHUR_TP
FA_SUB
FA_SZ_1
FA_SZ_2
+FA_SZ_AMELL
FA_SZ_COLUMN_DIAG
FA_SZ_COL_DIAG_IN_EX
FA_SZ_DEC2BASE
@@ -23,10 +26,10 @@ FA_SZ_DEC2OCT
FA_SZ_DIFF
FA_SZ_FACTOR
FA_SZ_FROM_VAL
-FA_SZ_FULLRF
FA_SZ_LINSPACE_ROW
FA_SZ_LQE
FA_SZ_LQR
+FA_SZ_MODSN
FA_SZ_OBSCNT
FA_SZ_OPAPEX
FA_SZ_OPBACKSLASH
@@ -59,6 +62,7 @@ FA_SZ_ROW_DIAG_INS_EXT
FA_SZ_SEL1
FA_SZ_SEL2
FA_SZ_U_SVA
+FA_TP_ASCII
FA_TP_C
FA_TP_COMPLEX
FA_TP_CVIMAGE
@@ -68,6 +72,7 @@ FA_TP_INT16
FA_TP_INT8
FA_TP_MAX
FA_TP_MIN_REAL
+FA_TP_MODSN
FA_TP_REAL
FA_TP_S
FA_TP_UINT16
diff --git a/macros/FunctionList/lib b/macros/FunctionList/lib
index f59833d..1f0f29a 100644
Binary files a/macros/FunctionList/lib and b/macros/FunctionList/lib differ
diff --git a/macros/GeneralFunctions/SCI2CFindFile.sci b/macros/GeneralFunctions/SCI2CFindFile.sci
index 912a72a..f7271e2 100644
--- a/macros/GeneralFunctions/SCI2CFindFile.sci
+++ b/macros/GeneralFunctions/SCI2CFindFile.sci
@@ -20,7 +20,6 @@ function [FlagFound,SCIFileName] = SCI2CFindFile(PathList,FileName)
// --- Check input arguments. ---
// ------------------------------
SCI2CNInArgCheck(argn(2),2,2);
-
FlagFound = 0;
SCIFileName = '';
diff --git a/macros/GeneralFunctions/lib b/macros/GeneralFunctions/lib
index e151923..9f498b2 100644
Binary files a/macros/GeneralFunctions/lib and b/macros/GeneralFunctions/lib differ
diff --git a/macros/Hardware/AVR/AVRADCSetup.sci b/macros/Hardware/AVR/AVRADCSetup.sci
index 264062b..603873b 100644
--- a/macros/Hardware/AVR/AVRADCSetup.sci
+++ b/macros/Hardware/AVR/AVRADCSetup.sci
@@ -17,26 +17,28 @@ function AVRADCSetup(prescaler,adc_ref)
// Parameters
// prescaler: prescaler to be used for generating ADC clock (0-7)
// adc_ref : reference voltage to be used for ADC conversion
-// 0 -> Voltage on VREF pin
-// 1 -> Voltage on AVCC pin
-// 2 -> Internal 2.56 reference voltage
//
// Description
-// This function initialises ADc of AVR with given parameters. 'prescaler' is
-// needed for deciding ADC clock. ADC clock should be between 50KHz and 200KHz
-// and it given as (MCU clock/2^prescaler). Select appropriate prescaler depending
-// on MCU clock. 'adc_ref' selects one of the available reference voltage sources
-// available
+// This function initialises ADc of AVR with given parameters. 'prescaler' is needed for deciding ADC clock. ADC clock should be between 50KHz and 200KHz and it given as (MCU clock/2^prescaler). Select appropriate prescaler depending on MCU clock. 'adc_ref' selects one of the available reference voltage sources available.
+//
+// The adc_ref can take the following values-
+//
+// 0 -> Voltage on VREF pin
+// 1 -> Voltage on AVCC pin
+// 2 -> Internal 2.56 reference voltage
+//
+//
+// This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+//
// Examples
// AVRADCSetup(128,0)
// See also
// AVRReadADC
//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(prescaler>=8)
disp("Error : Invalid input argument ''prescaler'' in AVRADCSetup function.");
diff --git a/macros/Hardware/AVR/AVRDigitalIn.sci b/macros/Hardware/AVR/AVRDigitalIn.sci
index 54eb327..7addd66 100644
--- a/macros/Hardware/AVR/AVRDigitalIn.sci
+++ b/macros/Hardware/AVR/AVRDigitalIn.sci
@@ -18,8 +18,6 @@ function state = AVRDigitalIn(port,pin)
// Parameters
// port : port of microcontroller to be used
// pin : pin of port (mentioned above) to be used
-// Returns
-// state : state of an input pin (HIGH\LOW)
//
// Description
// Each AVR microcontroller has pins which can be configured as digital
@@ -27,18 +25,18 @@ function state = AVRDigitalIn(port,pin)
// User has to select one of these port and which pin of that port as
// digital input.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
// Examples
// pinA0 = AVRDigitalIn(1,0) //To read state on pin 0 of port A
-//
// See also
// AVRDigitalOut AVRDigitalSetup
//
-//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if((port==0)|(port>=5)) then
disp("Error : Inavalid input argument ''port'' in AVRDigitalIn function.");
diff --git a/macros/Hardware/AVR/AVRDigitalOut.sci b/macros/Hardware/AVR/AVRDigitalOut.sci
index a86a5aa..0efc927 100644
--- a/macros/Hardware/AVR/AVRDigitalOut.sci
+++ b/macros/Hardware/AVR/AVRDigitalOut.sci
@@ -26,18 +26,18 @@ function AVRDigitalOut(port,pin,state)
// digital output. Also, desired output state must be specified as
// 'HIGH' or 'LOW'.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
// Examples
// AVRDigitalOut('A',0,HIGH)
-//
// See also
// AVRDigitalIn
//
-//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if((port==0)|(port>=8)) then
disp("Error : Inavalid input argument ''port'' in AVRDigitalOut function.");
diff --git a/macros/Hardware/AVR/AVRDigitalPortSetup.sci b/macros/Hardware/AVR/AVRDigitalPortSetup.sci
index 5f0b967..65e8494 100644
--- a/macros/Hardware/AVR/AVRDigitalPortSetup.sci
+++ b/macros/Hardware/AVR/AVRDigitalPortSetup.sci
@@ -15,7 +15,7 @@ function AVRDigitalPortSetup(port,direction)
// AVRDigitalPortSetup(port,direction)
//
// Parameters
-// port : port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)
+// port : port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)
// direction : direction to be set for pin (0 for INPUT, 1 for OUTPUT)
//
// Description
@@ -25,18 +25,19 @@ function AVRDigitalPortSetup(port,direction)
// used as digital output/input. Also, desired direction must be specified as
// 'INPUT' or 'OUTPUT'.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
// Examples
// AVRDigitalPortSetup(1,0); //This function will make PortA as input port
//
// See also
// AVRDigitalIn AVRDigitalOut
//
-//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if((port==0)|(port>=5)) then
disp("Error : Invalid input argument ''port'' in AVRDigitalPortSetup function.");
diff --git a/macros/Hardware/AVR/AVRDigitalSetup.sci b/macros/Hardware/AVR/AVRDigitalSetup.sci
index e707d4f..ed6cf30 100644
--- a/macros/Hardware/AVR/AVRDigitalSetup.sci
+++ b/macros/Hardware/AVR/AVRDigitalSetup.sci
@@ -15,8 +15,8 @@ function AVRDigitalSetup(port,pin,direction)
// AVRDigitalSetup(port,pin,direction)
//
// Parameters
-// port : port of microcontroller to be used
-// pin : pin of port (mentioned above) to be used
+// port : port of microcontroller to be used
+// pin : pin of port (mentioned above) to be used
// direction : direction to be set for pin (INPUT\OUTPUT)
//
// Description
@@ -26,18 +26,19 @@ function AVRDigitalSetup(port,pin,direction)
// used as digital output/input. Also, desired direction must be specified as
// 'INPUT' or 'OUTPUT'.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
// Examples
// AVRDigitalSetup('A',0,OUTPUT)
//
// See also
// AVRDigitalIn AVRDigitalOut
//
-//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if((port==0)|(port>=5)) then
disp("Error : Invalid input argument ''port'' in AVRDigitalSetup function.");
diff --git a/macros/Hardware/AVR/AVRGetTimerValue.sci b/macros/Hardware/AVR/AVRGetTimerValue.sci
index afb47ac..05919b3 100644
--- a/macros/Hardware/AVR/AVRGetTimerValue.sci
+++ b/macros/Hardware/AVR/AVRGetTimerValue.sci
@@ -18,20 +18,26 @@ function count = AVRGetTimerValue(timer)
// 2 for timer2
//
// Description
-// This function returns the count value of a desired timer.By knowing the count value
-// certain interrupt action can be taken.
+// This function returns the count value of a desired timer.By knowing the count value certain interrupt action can be taken.
+//
+// Timer can take the following values
+//
+// 0 -> for timer0
+// 1 -> for timer1
+// 2 -> for timer2
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
//
// Examples
// AVRGetTimerValue(0); //returns present count of the TCNT0 counter
-//
// See also
// AVRTimerSetup
//
// Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(timer>=3) then
disp("Error : Invalid input argument ''timer'' in AVRGetTimerValue function.");
diff --git a/macros/Hardware/AVR/AVRPWM0SetDuty.sci b/macros/Hardware/AVR/AVRPWM0SetDuty.sci
index 604d2f4..c3815d1 100644
--- a/macros/Hardware/AVR/AVRPWM0SetDuty.sci
+++ b/macros/Hardware/AVR/AVRPWM0SetDuty.sci
@@ -9,15 +9,18 @@
// Email: toolbox@scilab.in
function AVRPWM0SetDuty(duty)
-//Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+//Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.
+//
//Parameters
-// duty : It holds an integer value from 0 to 100 which sets the percentage
-// of time for which signal is active.
+// duty : It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+//
//Description
// Each Micro controller has PWM output pins which can generate varying voltage
-// from 0V-5V.In this function by varying the duty cycle, varying voltage can be
-// produced.
-//Example
+// from 0V-5V.In this function by varying the duty cycle, varying voltage can be produced.
+//
+// This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+//
+//Examples
// AVRPWM0SetDuty(50); //Produces 2.5V at OC0 pin
// AVRPWM0SetDuty(0); //Produces 0V at OC0 pin
//See also
@@ -26,8 +29,6 @@ function AVRPWM0SetDuty(duty)
//Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(duty>100) then
disp("Error : Invalid input argument ''duty'' in AVRPWM0SetDuty function.");
diff --git a/macros/Hardware/AVR/AVRPWM0Setup.sci b/macros/Hardware/AVR/AVRPWM0Setup.sci
index 39861c8..c391f71 100644
--- a/macros/Hardware/AVR/AVRPWM0Setup.sci
+++ b/macros/Hardware/AVR/AVRPWM0Setup.sci
@@ -10,43 +10,48 @@
function AVRPWM0Setup(waveform_mode,output_mode)
//Function to Setup OC0 pin for required PWM mode
+//
+//Parameters
+// waveform_mode: integer, from 0 to 2
+// output_mode: integer, from 0 to 1 (or 2) depending on the waveform_mode
+//
//Description
// Every Micro controller has PWM pins which can generate varying voltages
// from 0V-5V.This function helps to use OC0 pin to produce required
// output waveform by setting the waveform mode and otput mode.
//
-//Parameters
-// waveform_mode:
-// 0 for Phase correct PWM Mode
-// 1 for Fast PWM Mode
-// 2 for CTC Mode
-// output_mode:
-// For Phase Correct PWM Mode:
-// 0 for Clear OC0 on compare match when up-counting. Set OC0 on compare
-// match when down-counting.
-// 1 for Set OC0 on compare match when up-counting. Clear OC0 on compare
-// match when down-counting.
-//
-// For Fast PWM Mode:
-// 0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.
-// 1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.
-//
-// For CTC Mode:
-// 0 to Clear OC0 on compare match
-// 1 to Set OC0 on compare match
-// 2 to toggle OC0 on compare match
-//
-//Example
-// AVRPWM0Setup(2,0); //This function will select CTC waveform mode and will clear OC0 on
-// compare match
+// waveform_mode can take values-
+//
+// 0 -> for Phase correct PWM Mode
+// 1 -> for Fast PWM Mode
+// 2 -> for CTC Mode
+//
+//
+// output_mode can take values-
+//
+// For Phase correct PWM Mode:
+// 0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.
+// 1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.
+// For Fast PWM Mode:
+// 0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.
+// 1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.
+// For CTC Mode:
+// 0 to Clear OC0 on compare match
+// 1 to Set OC0 on compare match
+// 2 to toggle OC0 on compare match
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
+//Examples
+// AVRPWM0Setup(2,0); //This function will select CTC waveform mode and will clear OC0 on compare match
//See also
// AVRPWM0SetDuty
//
//Authors
// Ashish Kamble
//
-//This is curretly dummy function. It provides no functionality but is required
-//for providing support for generating C code for AVR.
if(waveform_mode>=3) then
disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM0Setup function.");
diff --git a/macros/Hardware/AVR/AVRPWM1SetDuty.sci b/macros/Hardware/AVR/AVRPWM1SetDuty.sci
index 60dc0a9..fd6e7ba 100644
--- a/macros/Hardware/AVR/AVRPWM1SetDuty.sci
+++ b/macros/Hardware/AVR/AVRPWM1SetDuty.sci
@@ -11,34 +11,28 @@
function AVRPWM1SetDuty(output_pin,duty,Top_Value)
//Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.
//Parameters
-// ouput_pin:
-// 0 for selecting OC1A as output pin
-// 1 for selecting OC1B as output pin
+// ouput_pin: integer, 0 (for OC1A) or 1 (for OC1B)
//
-// duty: It holds an integer value from 0 to 100 which sets the percentage
-// of time for which signal is active.
+// duty: It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
//
-// Top_Value: It holds an integer value from 0 to 65535.This value sets the Top
-// value of the counter TCNT1 i.e ICR.(for more info refer datasheet)
+// Top_Value: It holds an integer value from 0 to 65535.This value sets the Top value of the counter TCNT1 i.e ICR.(for more info refer datasheet)
//
//Description
// Each Micro controller has PWM output pins which can generate varying voltage
// from 0V-5V.This function Sets the duty cycle of output PWM signal.Also this function
// decides the Top Vale of TCNT1 and the output pin to output PWM signal.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
//Example
-// AVRPWM1SetDuty(0,50,40000); //This function will produce PWM signal of 50% duty
-// cycle on OC1A pin and TCNT1 will reset at 40000 instead
-// at 65535.
-//
+// AVRPWM1SetDuty(0,50,40000); //This function will produce PWM signal of 50% duty cycle on OC1A pin and TCNT1 will reset at 40000 instead at 65535.
//See also
// AVRPWM1Setup
//
//Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(output_pin>=2) then
disp("Error : Invalid input argument ''output_pin'' in AVRPWM1SetDuty function.");
diff --git a/macros/Hardware/AVR/AVRPWM1Setup.sci b/macros/Hardware/AVR/AVRPWM1Setup.sci
index 51aa25b..fbd96ce 100644
--- a/macros/Hardware/AVR/AVRPWM1Setup.sci
+++ b/macros/Hardware/AVR/AVRPWM1Setup.sci
@@ -10,38 +10,40 @@
function AVRPWM1Setup(waveform_mode,output_mode,output_pin)
//Function to Setup OC1A or OC1B pin for required PWM mode
+//
+//Parameters
+// waveform_mode: integer, from 0 to 2
+// output_mode: integer, from 0 to 1 (or 2) depending on the waveform_mode
+// output_pin: 0 (for OC1A) or 1 for (OC1B)
+//
//Description
// Every Micro controller has PWM pins which can generate varying voltages
// from 0V-5V.This function helps to use OC1A or OC1B pin to produces required
// output waveform by setting the waveform mode and otput mode.
//
-//Parameters
-// waveform_mode:
-// 0 for Phase correct PWM Mode
-// 1 for Fast PWM Mode
-// 2 for CTC Mode
+// waveform_mode can take values-
+//
+// 0 -> for Phase correct PWM Mode
+// 1 -> for Fast PWM Mode
+// 2 -> for CTC Mode
+//
//
-// output_mode:
-// For Phase Correct PWM Mode:
-// 0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B
-// on compare match when down-counting.
-// 1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B
-// on compare match when down-counting.
-//
-// For Fast PWM Mode:
-// 0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A
-// OC1B at BOTTOM.
-// 1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B
-// at BOTTOM.
-//
-// For CTC Mode:
-// 0 to Clear OC1A or OC1B on compare match
-// 1 to Set OC1A or OC1B on compare match
-// 2 to toggle OC1A or OC1B on compare match
+// output_mode can take values-
+//
+// For Phase correct PWM Mode:
+// 0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.
+// 1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.
+// For Fast PWM Mode:
+// 0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.
+// 1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.
+// For CTC Mode:
+// 0 to Clear OC1A or OC1B on compare match
+// 1 to Set OC1A or OC1B on compare match
+// 2 to toggle OC1A or OC1B on compare match
+//
//
-// output_pin:
-// 0 for selecting OC1A as output pin
-// 1 for selecting OC1B as output pin
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
//
//Example
// AVRPWM1Setup(2,0,0); //This function will select CTC mode and will clear OC1A or OC1B
@@ -53,8 +55,6 @@ function AVRPWM1Setup(waveform_mode,output_mode,output_pin)
//Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(waveform_mode>=3) then
disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM1Setup function.");
diff --git a/macros/Hardware/AVR/AVRPWM2SetDuty.sci b/macros/Hardware/AVR/AVRPWM2SetDuty.sci
index 929c1a0..81d1761 100644
--- a/macros/Hardware/AVR/AVRPWM2SetDuty.sci
+++ b/macros/Hardware/AVR/AVRPWM2SetDuty.sci
@@ -10,14 +10,17 @@
function AVRPWM2SetDuty(duty)
//Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.
+//
+//Parameters
+// duty : It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.
+//
//Description
// Each Micro controller has PWM output pins which can generate varying voltage
// from 0V-5V.In this function by varying the duty cycle, varying voltage can be
// produced.
//
-//Parameters
-// duty : It holds an integer value from 0 to 100 which sets the percentage
-// of time for which signal is active.
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
//
//Example
// AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
@@ -29,8 +32,6 @@ function AVRPWM2SetDuty(duty)
//Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(duty>100) then
disp("Error : Invalid input argument ''duty'' in AVRPWM2SetDuty function.");
diff --git a/macros/Hardware/AVR/AVRPWM2Setup.sci b/macros/Hardware/AVR/AVRPWM2Setup.sci
index d4bc74a..11d9b01 100644
--- a/macros/Hardware/AVR/AVRPWM2Setup.sci
+++ b/macros/Hardware/AVR/AVRPWM2Setup.sci
@@ -10,32 +10,40 @@
function AVRPWM2Setup(waveform_mode,output_mode)
//Function to Setup OC2 pin for required PWM mode
+//
+//Parameters
+// waveform_mode: integer, from 0 to 2
+// output_mode: integer, from 0 to 1 (or 2) depending on the waveform_mode
+//
//Description
// Every Micro controller has PWM pins which can generate varying voltages
// from 0V-5V.This function helps to use OC2 pin to produces required
// output waveform by setting the waveform mode and otput mode.
//
-//Parameters
-// waveform_mode:
-// 0 for Phase correct PWM Mode
-// 1 for Fast PWM Mode
-// 2 for CTC Mode
-//output_mode:
-// For Phase Correct PWM Mode:
-// 0 for Clear OC2 on compare match when up-counting. Set OC2 on compare
-// match when down-counting.
-// 1 for Set OC2 on compare match when up-counting. Clear OC2 on compare
-// match when down-counting.
-//
+// waveform_mode can take values-
+//
+// 0 -> for Phase correct PWM Mode
+// 1 -> for Fast PWM Mode
+// 2 -> for CTC Mode
+//
+//
+// output_mode can take values-
+//
+// For Phase correct PWM Mode:
+// 0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.
+// 1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.
// For Fast PWM Mode:
-// 0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.
-// 1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.
-//
+// 0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.
+// 1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.
// For CTC Mode:
-// 0 to Clear OC2 on compare match
-// 1 to Set OC2 on compare match
-// 2 to toggle OC2 on compare match
-//
+// 0 to Clear OC2 on compare match
+// 1 to Set OC2 on compare match
+// 2 to toggle OC2 on compare match
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
//Example
// AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
// compare match
@@ -45,8 +53,6 @@ function AVRPWM2Setup(waveform_mode,output_mode)
//Authors
// Ashish Kamble
//
-//This is curretly dummy function. It provides no functionality but is required
-//for providing support for generating C code for AVR.
if(waveform_mode>=3) then
disp("Error : Invalid input argument ''waveform_mode'' in AVRPWM2Setup function.");
diff --git a/macros/Hardware/AVR/AVRReadADC.sci b/macros/Hardware/AVR/AVRReadADC.sci
index 7fd3e67..71cafa7 100644
--- a/macros/Hardware/AVR/AVRReadADC.sci
+++ b/macros/Hardware/AVR/AVRReadADC.sci
@@ -15,11 +15,7 @@ function adc_result = AVRReadADC(channel)
// u8AVRReadADCs(channel)
//
// Parameters
-// channel : Select which channel is to be read. Values from 0-7 select one
-// of the pins ADC0-ADC7. For other possible channel values refer
-// datasheet
-// Returns->
-// result : Digital value for the voltage present on channel selected
+// channel : Select which channel is to be read. Values from 0-7 select one of the pins ADC0-ADC7. For other possible channel values refer datasheet
//
// Description
// This function returns digital value for present on adc pins. 'channel'
@@ -28,14 +24,15 @@ function adc_result = AVRReadADC(channel)
// voltages between some pins. For channel values for those options, please
// refer datasheet.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
// Examples
// adc_result = u8AVRReadADC(0) //Read ADC0
-//
// Authors
-// Siddhesh Wani Ashish Kamble
+// Siddhesh Wani
+// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
if(channel>=8) then
disp("Error : Inavlid input argument ''channel'' in AVRReadADC function.");
diff --git a/macros/Hardware/AVR/AVRSleep.sci b/macros/Hardware/AVR/AVRSleep.sci
index a1b6add..eec6e5a 100644
--- a/macros/Hardware/AVR/AVRSleep.sci
+++ b/macros/Hardware/AVR/AVRSleep.sci
@@ -1,4 +1,21 @@
function AVRSleep(delay)
-
+// Function to pause the execution for the given time.
+//
+// Parameter
+// delay : The time, in milliseconds, for which the execution is to be paused
+//
+// Description
+// This function causes the execution to stop for the given amount of time.
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
+//Examples
+// AVRSleep(5000);
+//See also
+//
+// Authors
+// Jorawar Singh
+//
endfunction
diff --git a/macros/Hardware/AVR/AVRTimerSetup.sci b/macros/Hardware/AVR/AVRTimerSetup.sci
index 7c5dd1d..55fd55f 100644
--- a/macros/Hardware/AVR/AVRTimerSetup.sci
+++ b/macros/Hardware/AVR/AVRTimerSetup.sci
@@ -10,37 +10,44 @@
function AVRTimerSetup(timer,prescaler,clock_source)
//Function to setup Timers in ATmega16
+//
+//Parameters:
+// timer : integer, from 0 to 2
+// prescaler : integer.
+// clock_source : integer, 0 (for internal) or 1 (for external)
+//
//Descrpition:
// This function tells the micro controller which clock source you will be using.
// The timer value and prescaler value passed in this function setup the timer as per
// your requirement.
//
-//Parameters:
-// timer : It is an integer value.
-// 0 to setup timer0
-// 1 to setup timer1
-// 2 to setup timer2
-// prescaler : It is an integer value.
-// 1 for no prescaling i.e clock will run at max 16Hz frequency
-// 8 for prescaling clock by 8 i.e new clock frequency will be (clk/8)
-// 64 for prescaling clock by 64 i.e new clock frequency will be (clk/64)
-// 256 for prescaling clock by 256 i.e new clock frequency will be (clk/256)
-// 1024 for prescaling clock by 1024 i.e new clock frequency will be (clk/1024)
-// clock_source : It is an integer value.
-// 0 if you are using internal clock source
-// 1 if you are using external clock source
+// timer can take values-
+//
+// 0 -> for timer0
+// 1 -> for timer1
+// 2 -> for timer2
+//
+//
+// prescaler can take values-
+//
+// 1 for no prescaling i.e clock will run at max 16Hz frequency
+// 8 for prescaling clock by 8 i.e new clock frequency will be (clk/8)
+// 64 for prescaling clock by 64 i.e new clock frequency will be (clk/64)
+// 256 for prescaling clock by 256 i.e new clock frequency will be (clk/256)
+// 1024 for prescaling clock by 1024 i.e new clock frequency will be (clk/1024)
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
//Example
-// AVRTimerSetup(0,64,0); //This function will select timer0 with timer running as per
-// internal clock source and prescaled by 64.
-//
+// AVRTimerSetup(0,64,0); //This function will select timer0 with timer running as per internal clock source and prescaled by 64.
//See also
// AVRGetTimerValues
//
//Authors
// Ashish Kamble
//
-//This is curretly dummy function. It provides no functionality but is required
-//for providing support for generating C code for AVR.
if(timer>=3) then
disp("Error : Invalid input argument ''timer'' in AVRTimerSetup function.");
diff --git a/macros/Hardware/AVR/AVRUARTReceive.sci b/macros/Hardware/AVR/AVRUARTReceive.sci
index 790894f..7fdf6f0 100644
--- a/macros/Hardware/AVR/AVRUARTReceive.sci
+++ b/macros/Hardware/AVR/AVRUARTReceive.sci
@@ -10,13 +10,16 @@
function received = AVRUARTReceive()
// Function to Receive Char value send to ATmega16 using UART or USART.
+//
// Description
// This function Receives Char as 8 bit value.This value is stored in UDR at receiving
// end.
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
+//
//Examples
-// state = AVRUARTReceive(); //This function will Receive char and return the entire value
-//
+// state = AVRUARTReceive(); //This function will Receive char and return the entire value
//See also
// AVRUARTSetup
// AVRUARTTransmit
@@ -24,7 +27,5 @@ function received = AVRUARTReceive()
// Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
received = 0; // received has been initialised to avoid runtime error.
endfunction
diff --git a/macros/Hardware/AVR/AVRUARTSetup.sci b/macros/Hardware/AVR/AVRUARTSetup.sci
index 32e5db8..6ecf2a0 100644
--- a/macros/Hardware/AVR/AVRUARTSetup.sci
+++ b/macros/Hardware/AVR/AVRUARTSetup.sci
@@ -10,29 +10,34 @@
function AVRUARTSetup(mode, baudrate, stopbits, parity)
// Function to Setup Serial Communication i.e UART or USART in ATmega16.
+//
+// Parameters
+// mode : integer, from 0 to 2
+// baudrate : Enter one of the following available baudrates (2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 , 768000 , 115200 , 230400 , 250000 , 1000000)
+// stopbits : integer, (0 for one stopbit) or (1 for two stopbits)
+// parity : integer, from 0 to 2
+//
// Description
// This function Setup the UART or USART for Serial Communicaion between ATmega16
// and different micro controllers or between ATmega16 and Computer.
-//
-// Parameters
-// mode :
-// 0 for Asynchronous Normal mode
-// 1 for Asynchronous Double Speed mode
-// 2 for Synchronous mode
-//
-// baudrate : Enter one of the following available baudrates
-// 2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 ,
-// 768000 , 115200 , 230400 , 250000 , 1000000 .
//
-// stopbits :
-// 0 for one stopbit
-// 1 for two stopbits
+// mode can take values:
+//
+// 0 for Asynchronous Normal mode
+// 1 for Asynchronous Double Speed mode
+// 2 for Synchronous mode
+//
+//
+// parity can take values:
+//
+// 0 for parity disabled
+// 1 for even parity
+// 2 for odd parity
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
//
-// parity :
-// 0 for parity disabled
-// 1 for even parity
-// 2 for odd parity
-//
//Examples
// AVRUARTSetup(0,9600,0,0); //This function will enable UART Communication for ATmega16
// with 9600 as baudrate,one stop bit and parity disabled
@@ -43,8 +48,7 @@ function AVRUARTSetup(mode, baudrate, stopbits, parity)
// Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
+
if(mode>=3) then
disp("Error : Invalid input argument ''mode'' in AVRUARTSetup function.");
end
diff --git a/macros/Hardware/AVR/AVRUARTTransmit.sci b/macros/Hardware/AVR/AVRUARTTransmit.sci
index eb35849..695c708 100644
--- a/macros/Hardware/AVR/AVRUARTTransmit.sci
+++ b/macros/Hardware/AVR/AVRUARTTransmit.sci
@@ -10,17 +10,19 @@
function AVRUARTTransmit(data)
// Function to Transmit data using UART or USART.
+//
+// Parameter
+// data : The data to be transmitted can be a Char,String,Unsigned Int,Signed Int.
+//
// Description
// This function Tranmits data over UART or USART.The data to be transmitted can
// be a Char , String , Unsigned Int, Signed Int.
-//
-// Parameter
-// data :
-// The data to be transmitted can be a Char,String,Unsigned Int,Signed Int.
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for AVR.
//
//Examples
-// AVRUARTTransmit("This is example"); //This function will transmit the entered string.
-//
+// AVRUARTTransmit("This is example"); //This function will transmit the entered string.
//See also
// AVRUARTSetup
// AVRUARTReceive
@@ -28,6 +30,4 @@ function AVRUARTTransmit(data)
// Authors
// Ashish Kamble
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for AVR.
endfunction
diff --git a/macros/Hardware/AVR/lib b/macros/Hardware/AVR/lib
index 6206fdf..f1c7384 100644
Binary files a/macros/Hardware/AVR/lib and b/macros/Hardware/AVR/lib differ
diff --git a/macros/Hardware/RasberryPi/lib b/macros/Hardware/RasberryPi/lib
index e2b0214..cf04536 100644
Binary files a/macros/Hardware/RasberryPi/lib and b/macros/Hardware/RasberryPi/lib differ
diff --git a/macros/ImageProcessing/core/CV_CreateImage.sci b/macros/ImageProcessing/core/CV_CreateImage.sci
index 0275815..90b4578 100644
--- a/macros/ImageProcessing/core/CV_CreateImage.sci
+++ b/macros/ImageProcessing/core/CV_CreateImage.sci
@@ -17,25 +17,23 @@ function img = CV_CreateImage(width,height,bit_depth,no_of_channels)
//
// Parameters
// image_size: width and height of image
-// bit_depth: Bit depth of image elements
-// no_of_channels: no of channels per pixels
+// bit_depth: Bit depth of image elements
+// no_of_channels: no of channels per pixels
//
// Description
-// This function can be used to create opencv image object. For more info
-// about bit depth and channels,please refer to OpenCV documentation
-// Examples
-// CV_CreateImage([320 240], "IPL_DEPTH_8U", 1) //to create image of the size 320*240
-// pixels with 8 bit unsigned each pixels and gray scale image
+// This function can be used to create opencv image object. For more info about bit depth and channels,please refer to OpenCV documentation
+//
+// This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for OpenCV
//
+// Examples
+// CV_CreateImage([320 240], "IPL_DEPTH_8U", 1) //to create image of the size 320*240 pixels with 8 bit unsigned each pixels and gray scale image
// See also
// CV_LoadImage
//
-//
// Authors
// Siddhesh Wani
//
+
img = 0;
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/core/CV_GetImgSize.sci b/macros/ImageProcessing/core/CV_GetImgSize.sci
index 02e018a..2b176da 100644
--- a/macros/ImageProcessing/core/CV_GetImgSize.sci
+++ b/macros/ImageProcessing/core/CV_GetImgSize.sci
@@ -15,23 +15,25 @@ function imgsize = CV_GetImgSize(img)
// CV_GetImgSize(img)
//
// Parameters
-// img: image whose size is to be returned
+// img: image whose size is to be returned
//
// Description
// This function can be used for retriving size information of the image.
// It returs an array with first image element as width and second as height
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// size = CV_GetImgSize(img)
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// size = CV_GetImgSize(img)
// See also
// CV_LoadImage CV_CreateImage
//
// Authors
// Siddhesh Wani
//
+
imgsize = [0 0];
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/core/lib b/macros/ImageProcessing/core/lib
index 55055e4..ab90762 100644
Binary files a/macros/ImageProcessing/core/lib and b/macros/ImageProcessing/core/lib differ
diff --git a/macros/ImageProcessing/highgui/CV_LoadImage.sci b/macros/ImageProcessing/highgui/CV_LoadImage.sci
index 01dda12..c420c7a 100644
--- a/macros/ImageProcessing/highgui/CV_LoadImage.sci
+++ b/macros/ImageProcessing/highgui/CV_LoadImage.sci
@@ -16,25 +16,30 @@ function img = CV_LoadImage(filename,loadtype)
//
// Parameters
// filename: name of file to be opened
-// loadtype: desired load method
-// <0 --> image is loaded as is (with alpha channel)
-// =0 --> image is loaded as greyscale
-// >0 --> 3 channel color image is loaded
+// loadtype: desired load method
//
// Description
-// This function can be used for loading a previously stored image
-// Examples
-// CV_LoadImage('~/test.jpg',0)
+// This function can be used for loading a previously stored image
+//
+// loadtype can take the following values:
+//
+// less than 0 -> image is loaded as is (with alpha channel)
+// 0 -> image is loaded as greyscale
+// greater than 0 -> 3 channel color image is loaded
+//
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
+// Examples
+// CV_LoadImage('~/test.jpg',0)
// See also
// CV_CreateImage
//
-//
// Authors
// Siddhesh Wani
//
+
img = 0;
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/highgui/CV_SaveImage.sci b/macros/ImageProcessing/highgui/CV_SaveImage.sci
index 708edff..6c5b0bf 100644
--- a/macros/ImageProcessing/highgui/CV_SaveImage.sci
+++ b/macros/ImageProcessing/highgui/CV_SaveImage.sci
@@ -15,24 +15,26 @@ function status = CV_SaveImage(filename,img)
// CV_SaveImage(filename,img)
//
// Parameters
-// filename: name of file image to be saved as
-// img: image to be saved
+// filename: name of file image to be saved as
+// img: image to be saved
//
// Description
-// This function can be used for saving image. File format is detected
-// from file extension
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// CV_SaveImage('test1.png',img)
+// This function can be used for saving image. File format is detected
+// from file extension
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// CV_SaveImage('test1.png',img)
// See also
// CV_LoadImage CV_CreateImage
//
// Authors
// Siddhesh Wani
//
+
status = 0;
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/highgui/CV_ShowImage.sci b/macros/ImageProcessing/highgui/CV_ShowImage.sci
index 4bfe591..2300d25 100644
--- a/macros/ImageProcessing/highgui/CV_ShowImage.sci
+++ b/macros/ImageProcessing/highgui/CV_ShowImage.sci
@@ -12,28 +12,28 @@ function CV_ShowImage(winname,img)
// function to show an image
//
// Calling Sequence
-// CV_ShowImage(img)
+// CV_ShowImage(img)
// CV_ShowImage(winname,img)
//
// Parameters
-// winname: name of window in which img is to be shown
-// img: image to be shown already acquired (from file/camera)
+// winname: name of window in which img is to be shown
+// img: image to be shown already acquired (from file/camera)
//
// Description
// This function can be used for showing images
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// CV_ShowImage(img)
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// CV_ShowImage(img)
// See also
// CV_CreateImage CV_LoadImage
//
-//
// Authors
// Siddhesh Wani
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/highgui/CV_WaitKey.sci b/macros/ImageProcessing/highgui/CV_WaitKey.sci
index 0facaaf..46fd91f 100644
--- a/macros/ImageProcessing/highgui/CV_WaitKey.sci
+++ b/macros/ImageProcessing/highgui/CV_WaitKey.sci
@@ -15,25 +15,25 @@ function CV_WaitKey(delay)
// CV_WaitKey(delay)
//
// Parameters
-// delay: waiting delay, if 0 then wait till keypress
+// delay: waiting delay, if 0 then wait till keypress
//
// Description
-// This function can be used for inseting some delay. This function must
-// follow CV_ShowImage to display image.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// CV_ShowImage('',img)
-// CV_WaitKey(0);
+// This function can be used for inseting some delay. This function must
+// follow CV_ShowImage to display image.
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// CV_ShowImage('',img)
+// CV_WaitKey(0);
// See also
// CV_LoadImage CV_ShowImage
//
-//
// Authors
// Siddhesh Wani
//
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/highgui/lib b/macros/ImageProcessing/highgui/lib
index 64253e0..e9714ae 100644
Binary files a/macros/ImageProcessing/highgui/lib and b/macros/ImageProcessing/highgui/lib differ
diff --git a/macros/ImageProcessing/imgproc/CV_AdaptiveThreshold.sci b/macros/ImageProcessing/imgproc/CV_AdaptiveThreshold.sci
index a922d79..e594f37 100644
--- a/macros/ImageProcessing/imgproc/CV_AdaptiveThreshold.sci
+++ b/macros/ImageProcessing/imgproc/CV_AdaptiveThreshold.sci
@@ -8,28 +8,26 @@
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in
-function cvtimg = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method, ...
- thresh_type, block_size, C)
+function cvtimg = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method,thresh_type, block_size, C)
// function to adaptively threshold input image
//
// Calling Sequence
-// dst = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method, ...
-// thresh_type,blk_size,c)
+// dst = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method,thresh_type,blk_size,c)
//
// Parameters
-// src -> Source 8-bit single-channel image.
-// max_value -> Non-zero value assigned to the pixels for which the
-// condition is satisfied. See the details below.
-// adaptive_method -> Adaptive thresholding algorithm to use,
-// ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .
-// thresh_type -> Thresholding type that must be either THRESH_BINARY
-// or THRESH_BINARY_INV .
-// blockSize -> Size of a pixel neighborhood that is used to calculate
-// a threshold value for the pixel: 3, 5, 7, and so on.
-// C -> Constant subtracted from the mean or weighted mean.Normally,
-// it is positive but may be zero or negative as well.
+// src : Source 8-bit single-channel image.
+// max_value : Non-zero value assigned to the pixels for which the condition is satisfied. See the details below.
+// adaptive_method : Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .
+// thresh_type : Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV .
+// blockSize : Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.
+// C : Constant subtracted from the mean or weighted mean.Normally, it is positive but may be zero or negative as well.
+//
// Description
-// This function can be used for adaptively threshold given image
+// This function can be used for adaptively threshold given image
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
// Examples
// img = CV_LoadImage('~/test.jpg',0)
// dst = CV_AdaptiveThreshold(img,255,"ADAPTIVE_THRESH_MEAN_C", ...
@@ -41,8 +39,7 @@ function cvtimg = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method, ...
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_Blur.sci b/macros/ImageProcessing/imgproc/CV_Blur.sci
index b81df49..784e4c9 100644
--- a/macros/ImageProcessing/imgproc/CV_Blur.sci
+++ b/macros/ImageProcessing/imgproc/CV_Blur.sci
@@ -8,28 +8,34 @@
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in
-function cvtimg = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y, ...
- border_type)
+function cvtimg = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y,border_type)
// function to blur image using normalised box filter
//
// Calling Sequence
-// dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y, ...
-// border_type)
+// dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y,border_type)
//
// Parameters
-// srcimg -> Source image.
-// ksize_width, ksize_height -> blurring kernel size.
-// anchor_x, anchor_y -> x,y coordinates of anchor point
-// borderType -> border mode used to extrapolate pixels outside of the
-// image. Can be :
-// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
-// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
-// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
-// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
-// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+// srcimg : Source image.
+// ksize_width, ksize_height : blurring kernel size.
+// anchor_x, anchor_y : x,y coordinates of anchor point
+// border_type : border mode used to extrapolate pixels outside of the image.
+//
// Description
-// This function can be used for blurring image using normalised box
-// filter. Image can be of any depth and have any no of channels.
+// This function can be used for blurring image using normalised box
+// filter. Image can be of any depth and have any no of channels.
+//
+// border_type can be :
+//
+// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
// Examples
// img = CV_LoadImage('~/test.jpg',0)
// dst = CV_Blur(img,3,3,-1,-1,"BORDER_CONSTANT")
@@ -40,8 +46,7 @@ function cvtimg = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y, ...
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_Canny.sci b/macros/ImageProcessing/imgproc/CV_Canny.sci
index b21028a..be1c2cc 100644
--- a/macros/ImageProcessing/imgproc/CV_Canny.sci
+++ b/macros/ImageProcessing/imgproc/CV_Canny.sci
@@ -15,33 +15,33 @@ function edges = CV_Canny(srcimg,threhold1,threshold2,aperture_size,L2gradient)
// edges = CV_Canny(srcimg,threhold1,threshold2,aperture_size,L2gradient)
//
// Parameters
-// srcimg -> single-channel 8-bit input image.
-// threshold1 -> first threshold for the hysteresis procedure.
-// threshold2 -> second threshold for the hysteresis procedure.
-// aperture_size -> aperture size for the Sobel() operator.
-// L2gradient -> a flag, indicating whether a more accurate
-// L_2 norm =sqrt{(dI/dx)^2 + (dI/dy)^2} should be used to
-// calculate the image gradient magnitude ( L2gradient=1 ),
-// or whether the default L_1 norm =|dI/dx|+|dI/dy| is enough
-// ( L2gradient=0).
+// srcimg : single-channel 8-bit input image.
+// threshold1 : first threshold for the hysteresis procedure.
+// threshold2 : second threshold for the hysteresis procedure.
+// aperture_size : aperture size for the Sobel() operator.
+// L2gradient : a flag, indicating whether a more accurate
+//
// Description
-// This function can be used for finding edes in single channel 8 bit
-// image. 'aperture_size' and 'L2gradient' are optionals. By default,
-// aperture_size is 3 and L2gradient is false.
+// This function can be used for finding edes in single channel 8 bit
+// image. 'aperture_size' and 'L2gradient' are optionals. By default,
+// aperture_size is 3 and L2gradient is false.
+//
+// For L2gradient: L_2 norm =sqrt{(dI/dx)^2 + (dI/dy)^2} should be used to calculate the image gradient magnitude (L2gradient=1 ), or whether the default L_1 norm =|dI/dx|+|dI/dy| is enough (L2gradient=0).
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_CvtColor(img,"CV_RGB2GRAY");
-// edge = CV_Canny(dst,50,100,3,0);
-//
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_CvtColor(img,"CV_RGB2GRAY");
+// edge = CV_Canny(dst,50,100,3,0);
// See also
// CV_LoadImage CV_CvtColor
//
// Authors
// Siddhesh Wani
//
+
edges = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_CornerHarris.sci b/macros/ImageProcessing/imgproc/CV_CornerHarris.sci
index fb25612..ccb83cb 100644
--- a/macros/ImageProcessing/imgproc/CV_CornerHarris.sci
+++ b/macros/ImageProcessing/imgproc/CV_CornerHarris.sci
@@ -12,42 +12,41 @@ function edges = CV_CornerHarris(srcimg,blocksize,ksize,k,border_type)
//Finds edges in image using Harris algorithm
//
// Calling Sequence
-// edges = CV_CornerHarris(srcimg,blocksize,ksize,k,border_type)
+// edges = CV_CornerHarris(srcimg,blocksize,ksize,k,border_type)
//
// Parameters
-// srcimg -> Input single-channel 8-bit or floating-point image.
-// blockSize -> Neighborhood size
-// ksize -> Aperture parameter for the Sobel() operator.
-// k -> Harris detector free parameter.
-// borderType -> border mode used to extrapolate pixels outside of the
-// image. It can be :
-// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
-// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
-// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
-// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
-// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+// srcimg: Input single-channel 8-bit or floating-point image.
+// blockSize: Neighborhood size
+// ksize: Aperture parameter for the Sobel() operator.
+// k: Harris detector free parameter.
+// border_type: border mode used to extrapolate pixels outside of the image.
+//
// Description
-// The function runs the Harris edge detector on the image. For each
-// pixel (x, y) it calculates a 2 * 2 gradient covariance matrix M(x,y)
-// over a blockSize * blockSize neighborhood. Then, it computes the
-// following characteristic:
-// dst(x,y) = det(M(x,y)) - k .tr(M(x,y))^2
-// Corners in the image can be found as the local maxima of this
-// response map
+// The function runs the Harris edge detector on the image. For each pixel (x, y) it calculates a 2 * 2 gradient covariance matrix M(x,y) over a blockSize * blockSize neighborhood. Then, it computes the following characteristic: dst(x,y) = det(M(x,y)) - k .tr(M(x,y))^2. Corners in the image can be found as the local maxima of this response map.
//
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_CvtColor(img,"CV_RGB2GRAY");
-// edge = CV_CornerHarris(dst,5,3,1,"BORDER_REPLICATE");
+// border_type can be :
+//
+// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_CvtColor(img,"CV_RGB2GRAY");
+// edge = CV_CornerHarris(dst,5,3,1,"BORDER_REPLICATE");
// See also
// CV_LoadImage CV_CvtColor
//
// Authors
// Siddhesh Wani
//
+
edges = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_CvtColor.sci b/macros/ImageProcessing/imgproc/CV_CvtColor.sci
index 766844b..dcf756c 100644
--- a/macros/ImageProcessing/imgproc/CV_CvtColor.sci
+++ b/macros/ImageProcessing/imgproc/CV_CvtColor.sci
@@ -15,27 +15,28 @@ function cvtimg = CV_CvtColor(srcimg,code)
// CV_CvtColor(srcimg,code)
//
// Parameters
-// srcimg: source image to be converted
-// dstimg: destination image in which to store converted image
-// code: String specifying conversion type. Same as defined in OpenCV
-// for eg. 'CV_RGB2GRAY' for conversion from RGB image to grayscale image
-// dstCn: no of channels in destination image (0 by default)
+// srcimg: source image to be converted
+// dstimg: destination image in which to store converted image
+// code: String specifying conversion type. Same as defined in OpenCV. for eg. 'CV_RGB2GRAY' for conversion from RGB image to grayscale image
+// dstCn: no of channels in destination image (0 by default)
//
// Description
-// This function can be used for converting an image to other colorspace.
-// Refer OpenCV documentation for list of available conversions
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_CvtColor(img,'CV_RGB2GRAY')
+// This function can be used for converting an image to other colorspace.
+// Refer OpenCV documentation for list of available conversions
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_CvtColor(img,'CV_RGB2GRAY')
// See also
// CV_LoadImage CV_CreateImage
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_Dilate.sci b/macros/ImageProcessing/imgproc/CV_Dilate.sci
index 196cab8..25e2c84 100644
--- a/macros/ImageProcessing/imgproc/CV_Dilate.sci
+++ b/macros/ImageProcessing/imgproc/CV_Dilate.sci
@@ -8,45 +8,44 @@
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in
-function cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,iterations, ...
- border_type,border_value)
+function cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,iterations,border_type,border_value)
// dilates an image by using a specific structuring element.
//
// Calling Sequence
-// cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,[iterations, ...
-// border_type,border_value])
+// cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,[iterations,border_type,border_value])
// Parameters
-// src -> input image; the number of channels can be arbitrary, but the
-// depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
-// dilation_type -> can be one of : MORPH_RECT, MORPH_CROSS,
-// MORPH_ELLIPSE
-// dilation_size -> size of kernel to be used for erosion. Must be odd
-// iterations -> number of times erosion is applied.
-// border_type -> pixel extrapolation method. It can be:
-// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
-// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
-// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
-// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
-// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
-// border_value -> border value in case of a constant border
+// src : input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+// dilation_type : can be one of MORPH_RECT, MORPH_CROSS,MORPH_ELLIPSE
+// dilation_size : size of kernel to be used for erosion. Must be odd
+// iterations : number of times erosion is applied.
+// border_type : pixel extrapolation method.
+// border_value : border value in case of a constant border
+//
// Description
-// This function can be used for eroding an image. Kernel used for erosion
-// is decided by type and size. Size must always be odd. Anchor pint of
-// kernel is always center of kernel. Input arguements 'iterations(1),
-// border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not
-// specified, default values as as mentioned in brackets.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
+// This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+//
+// border_type can be :
+//
+// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
// See also
// CV_LoadImage CV_Erode
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_DistanceTransform.sci b/macros/ImageProcessing/imgproc/CV_DistanceTransform.sci
index e877295..1f304a6 100644
--- a/macros/ImageProcessing/imgproc/CV_DistanceTransform.sci
+++ b/macros/ImageProcessing/imgproc/CV_DistanceTransform.sci
@@ -15,26 +15,26 @@ function dstimg = CV_DistanceTransform(srcimg,distance_type,mask_size)
// dst = CV_DistanceTransform(srcimg,distance_type,mask_size)
//
// Parameters
-// srcimg -> Source 8-bit single-channel image.
-// distance_type -> Type of distance. It can be
-// CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C
-// mask_size -> Size of the distance transform mask
+// srcimg : Source 8-bit single-channel image.
+// distance_type : Type of distance. It can be CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C
+// mask_size : Size of the distance transform mask
+//
// Description
-// This function can be used to calculate distance to closest zero
-// pixel for each pixel of the source image. Output is 32 bit floating
-// point, single channel image of the same size as that of source image.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_DistanceTransform(img,"CV_DIST_L1",3)
+// This function can be used to calculate distance to closest zero pixel for each pixel of the source image. Output is 32 bit floatingpoint, single channel image of the same size as that of source image.
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_DistanceTransform(img,"CV_DIST_L1",3)
// See also
// CV_LoadImage CV_CreateImage CV_CvtColor
//
// Authors
// Siddhesh Wani
//
+
dstimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_Erode.sci b/macros/ImageProcessing/imgproc/CV_Erode.sci
index d77e9e6..73f3ee5 100644
--- a/macros/ImageProcessing/imgproc/CV_Erode.sci
+++ b/macros/ImageProcessing/imgproc/CV_Erode.sci
@@ -8,44 +8,44 @@
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in
-function cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,iterations, ...
- border_type,border_value)
+function cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,iterations,border_type,border_value)
// Erodes an image by using a specific structuring element.
//
// Calling Sequence
-// cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,[iterations, ...
-// border_type,border_value])
+// cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,[iterations,border_type,border_value])
// Parameters
-// src -> input image; the number of channels can be arbitrary, but the
-// depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
-// erosion_type -> can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE
-// erosion_size -> size of kernel to be used for erosion. Must be odd
-// iterations -> number of times erosion is applied.
-// border_type -> pixel extrapolation method. It can be:
-// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
-// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
-// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
-// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
-// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
-// border_value -> border value in case of a constant border
+// src : input image; the number of channels can be arbitrary, but the depth should be one of CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
+// erosion_type : can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE
+// erosion_size : size of kernel to be used for erosion. Must be odd
+// iterations : number of times erosion is applied.
+// border_type : pixel extrapolation method.
+// border_value : border value in case of a constant border
+//
// Description
-// This function can be used for eroding an image. Kernel used for erosion
-// is decided by type and size. Size must always be odd. Anchor pint of
-// kernel is always center of kernel. Input arguements 'iterations(1),
-// border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not
-// specified, default values as as mentioned in brackets.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
+// This function can be used for eroding an image. Kernel used for erosion is decided by type and size. Size must always be odd. Anchor pint of kernel is always center of kernel. Input arguements 'iterations(1), border_type(BORDER_CONSTANT) and border_value' are optionals. Whwn not specified, default values as as mentioned in brackets.
+//
+// border_type can be :
+//
+// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
// See also
// CV_LoadImage CV_Dilate
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_GaussianBlur.sci b/macros/ImageProcessing/imgproc/CV_GaussianBlur.sci
index 0799c4d..814355e 100644
--- a/macros/ImageProcessing/imgproc/CV_GaussianBlur.sci
+++ b/macros/ImageProcessing/imgproc/CV_GaussianBlur.sci
@@ -8,44 +8,46 @@
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in
-function cvtimg = CV_GaussianBlur(srcimg,ksize_width,ksize_height,sigma_x,sigma_y, ...
- border_type)
+function cvtimg = CV_GaussianBlur(srcimg,ksize_width,ksize_height,sigma_x,sigma_y,border_type)
// function to blur image using gaussian filter
//
// Calling Sequence
-// dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y, ...
-// border_type)
+// cvtimg = CV_GaussianBlur(srcimg,ksize_width,ksize_height,sigma_x,sigma_y,border_type)
//
// Parameters
-// srcimg -> Source image.
-// ksize_width, ksize_height -> blurring kernel size. must be odd.
-// sigmaX -> Gaussian kernel standard deviation in X direction.
-// sigmaY -> Gaussian kernel standard deviation in Y direction;
-// if sigmaY is zero, it is set to be equal to sigmaX,
-// if both sigmas are zeros, they are computed from
-// ksize.width and ksize.height , respectively
-// borderType -> border mode used to extrapolate pixels outside of the
-// image. Can be :
-// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
-// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
-// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
-// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
-// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+// srcimg : Source image.
+// ksize_width, ksize_height : blurring kernel size. must be odd.
+// sigmaX : Gaussian kernel standard deviation in X direction.
+// sigmaY : Gaussian kernel standard deviation in Y direction;
+// border_type : border mode used to extrapolate pixels outside of the image.
+//
// Description
-// This function can be used for blurring image using gaussian
-// filter. Image can be of any depth and have any no of channels.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_GaussianBlur(img,3,3,0,0,"BORDER_CONSTANT")
+// This function can be used for blurring image using gaussian filter. Image can be of any depth and have any no of channels.
+//
+// For sigmaX and sigmaY : if sigmaY is zero, it is set to be equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height , respectively.
//
+// border_type can be :
+//
+// BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh
+// BORDER_REFLECT: fedcba|abcdefgh|hgfedcb
+// BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba
+// BORDER_WRAP: cdefgh|abcdefgh|abcdefg
+// BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii
+//
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_GaussianBlur(img,3,3,0,0,"BORDER_CONSTANT")
// See also
// CV_LoadImage CV_Blur, CV_CvtColor
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_MedianBlur.sci b/macros/ImageProcessing/imgproc/CV_MedianBlur.sci
index d8f9a90..5f6069a 100644
--- a/macros/ImageProcessing/imgproc/CV_MedianBlur.sci
+++ b/macros/ImageProcessing/imgproc/CV_MedianBlur.sci
@@ -12,30 +12,29 @@ function cvtimg = CV_MedianBlur(srcimg,ksize)
// function to blur image using median filter
//
// Calling Sequence
-// dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y, ...
-// border_type)
+// cvtimg = CV_MedianBlur(srcimg,ksize)
//
// Parameters
-// srcimg -> input 1-, 3-, or 4-channel image; when ksize is 3 or 5,
-// the image depth should be CV_8U, CV_16U, or CV_32F, for
-// larger aperture sizes, it can only be CV_8U.
-// ksize_width -> aperture linear size; it must be odd and greater than 1,
-// for example: 3, 5, 7 ...
+// srcimg : input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U.
+// ksize_width : aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...
+//
// Description
// This function can be used for blurring image using median
// filter. Image can be of any depth and have any no of channels.
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_MedianBlur(img,3)
//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
+//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_MedianBlur(img,3)
// See also
-// CV_GaussianBlur CV_Blur, CV_CvtColor
+// CV_GaussianBlur, CV_Blur, CV_CvtColor
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/CV_Threshold.sci b/macros/ImageProcessing/imgproc/CV_Threshold.sci
index 823a576..0563c36 100644
--- a/macros/ImageProcessing/imgproc/CV_Threshold.sci
+++ b/macros/ImageProcessing/imgproc/CV_Threshold.sci
@@ -16,26 +16,27 @@ function cvtimg = CV_Threshold(srcimg,threshold,max_value,thresh_type)
//
// Parameters
// srcimg: source image to be converted
-// threshold: threshold value
-// max_value: maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV
-// thresh_type: Type for threshold. It can one of the following:
-// THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC,
-// THRESH_TOZERO, THRESH_TOZERO_INV
+// threshold: threshold value
+// max_value: maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV
+// thresh_type: Type for threshold. It can one of the following: THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV
+//
// Description
-// This function can be used for converting an image to other colorspace.
-// Refer OpenCV documentation for list of available conversions
-// Examples
-// img = CV_LoadImage('~/test.jpg',0)
-// dst = CV_Threshold(img,100,255,'THRESH_BINARY')
+// This function can be used for converting an image to other colorspace.
+// Refer OpenCV documentation for list of available conversions
+//
+// This is curretly dummy function. It provides no functionality but is required
+// for providing support for generating C code for OpenCV
//
+// Examples
+// img = CV_LoadImage('~/test.jpg',0)
+// dst = CV_Threshold(img,100,255,'THRESH_BINARY')
// See also
// CV_LoadImage CV_CreateImage
//
// Authors
// Siddhesh Wani
//
+
cvtimg = 0
-// This is curretly dummy function. It provides no functionality but is required
-// for providing support for generating C code for OpenCV
endfunction
diff --git a/macros/ImageProcessing/imgproc/lib b/macros/ImageProcessing/imgproc/lib
index 3b80459..3c25bd7 100644
Binary files a/macros/ImageProcessing/imgproc/lib and b/macros/ImageProcessing/imgproc/lib differ
diff --git a/macros/Scilab-Arduino/GetArduinoFunctions.sci b/macros/Scilab-Arduino/GetArduinoFunctions.sci
index a112fe6..eff61fe 100644
--- a/macros/Scilab-Arduino/GetArduinoFunctions.sci
+++ b/macros/Scilab-Arduino/GetArduinoFunctions.sci
@@ -30,6 +30,7 @@ ArduinoFunctions = [
"cmd_dcmotor_run"
"cmd_servo_attach"
"cmd_servo_detach"
- "cmd_servo_move"];
+ "cmd_servo_move"
+ "i2c_dev"];
endfunction
diff --git a/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci b/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci
index d2cd0c7..d310648 100644
--- a/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci
+++ b/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci
@@ -24,6 +24,8 @@ function ArduinoSetupFunctions = GetArduinoSetupFunctions()
ArduinoSetupFunctions = [
"cmd_dcmotor_setup"
"cmd_servo_attach"
- "cmd_servo_detach"];
+ "cmd_servo_detach"
+ "i2c_dev"];
+
endfunction
diff --git a/macros/Scilab-Arduino/IsArduinoSetupFunction.sci b/macros/Scilab-Arduino/IsArduinoSetupFunction.sci
index 3e1c18f..4afceca 100644
--- a/macros/Scilab-Arduino/IsArduinoSetupFunction.sci
+++ b/macros/Scilab-Arduino/IsArduinoSetupFunction.sci
@@ -9,6 +9,7 @@
// Email: toolbox@scilab.in
function Output = IsArduinoSetupFunction(FunName)
+disp(FunName)
// -----------------------------------------------------------------
// Check whether input function name is an Arduino setup function or not.
//
@@ -25,6 +26,7 @@ function Output = IsArduinoSetupFunction(FunName)
//Get list of supported functions for Arduino
ArduinoSetupFunctions = GetArduinoSetupFunctions();
+
//Check whether input function is present in above list or not
FunNameInArduinoSetup = members(FunName,ArduinoSetupFunctions);
Output = bool2s(FunNameInArduinoSetup~=0);
diff --git a/macros/Scilab-Arduino/cmd_i2c_dev.sci b/macros/Scilab-Arduino/cmd_i2c_dev.sci
new file mode 100644
index 0000000..37854cf
--- /dev/null
+++ b/macros/Scilab-Arduino/cmd_i2c_dev.sci
@@ -0,0 +1,3 @@
+function z = cmd_i2c_dev(address)
+ z = 0
+endfunction
diff --git a/macros/Scilab-Arduino/cmd_i2c_read.sci b/macros/Scilab-Arduino/cmd_i2c_read.sci
new file mode 100644
index 0000000..1edc1aa
--- /dev/null
+++ b/macros/Scilab-Arduino/cmd_i2c_read.sci
@@ -0,0 +1,2 @@
+function y = cmd_i2c_read(address,bytes)
+endfunction
diff --git a/macros/Scilab-Arduino/cmd_i2c_read_register.sci b/macros/Scilab-Arduino/cmd_i2c_read_register.sci
new file mode 100644
index 0000000..f5394a6
--- /dev/null
+++ b/macros/Scilab-Arduino/cmd_i2c_read_register.sci
@@ -0,0 +1,3 @@
+function x = cmd_i2c_read_register(address,reg_adrs)
+ x = 0;
+endfunction
diff --git a/macros/Scilab-Arduino/cmd_i2c_write.sci b/macros/Scilab-Arduino/cmd_i2c_write.sci
new file mode 100644
index 0000000..8ed8eb4
--- /dev/null
+++ b/macros/Scilab-Arduino/cmd_i2c_write.sci
@@ -0,0 +1,2 @@
+function cmd_i2c_write(address,data)
+endfunction
diff --git a/macros/Scilab-Arduino/cmd_i2c_write_register.sci b/macros/Scilab-Arduino/cmd_i2c_write_register.sci
new file mode 100644
index 0000000..02c4839
--- /dev/null
+++ b/macros/Scilab-Arduino/cmd_i2c_write_register.sci
@@ -0,0 +1,2 @@
+function cmd_i2c_write_register(address, reg_adrs, data)
+endfunction
diff --git a/macros/Scilab-Arduino/lib b/macros/Scilab-Arduino/lib
index 371723f..7cae55d 100644
Binary files a/macros/Scilab-Arduino/lib and b/macros/Scilab-Arduino/lib differ
diff --git a/macros/Scilab-Arduino/names b/macros/Scilab-Arduino/names
index 55eb6fe..8b8d7c4 100644
--- a/macros/Scilab-Arduino/names
+++ b/macros/Scilab-Arduino/names
@@ -4,3 +4,8 @@ GetArduinoSetupFunctions
InsertSetupInList
IsArduinoFunction
IsArduinoSetupFunction
+cmd_i2c_dev
+cmd_i2c_read
+cmd_i2c_read_register
+cmd_i2c_write
+cmd_i2c_write_register
diff --git a/macros/SymbolTable/ST_AnalyzeScope.sci b/macros/SymbolTable/ST_AnalyzeScope.sci
index 6ce9482..8389c09 100644
--- a/macros/SymbolTable/ST_AnalyzeScope.sci
+++ b/macros/SymbolTable/ST_AnalyzeScope.sci
@@ -84,7 +84,6 @@ for cntout = 1:NOutArg
// #RNU_RES_E
OutArg(cntout).Scope = 'Local';
end
-
// #RNU_RES_B
// --- Check in global symbol table. ---
// #RNU_RES_E
diff --git a/macros/SymbolTable/ST_GetInArgInfo.sci b/macros/SymbolTable/ST_GetInArgInfo.sci
index 9f5cbd4..4c85408 100644
--- a/macros/SymbolTable/ST_GetInArgInfo.sci
+++ b/macros/SymbolTable/ST_GetInArgInfo.sci
@@ -49,13 +49,13 @@ for cntinarg = 1:NInArg
tmpname = InArg(cntinarg).Name;
tmpscope = InArg(cntinarg).Scope;
lengthNumber = length('Number_');
- if (part(tmpscope,1:lengthNumber) == 'Number_')
+ if (part(tmpscope,1:lengthNumber) == 'Number_')
// #RNU_RES_B
PrintStringInfo('Input Argument '+string(cntinarg)+' is a number: '+tmpname+'.',FileInfo.Funct(nxtscifunnumber).ReportFileName,'file');
// #RNU_RES_E
UpdatedInArg(cntinarg).Type = part(tmpscope,lengthNumber+1:lengthNumber+1);
if (UpdatedInArg(cntinarg).Type == 'x')
- UpdatedInArg(cntinarg).Type = SharedInfo.DefaultPrecision; // It is the default.
+ UpdatedInArg(cntinarg).Type = SharedInfo.DefaultPrecision; // It is the default
elseif (UpdatedInArg(cntinarg).Type == 'X')
if (SharedInfo.DefaultPrecision == 's')
UpdatedInArg(cntinarg).Type = 'c'; // It is the default.
@@ -101,6 +101,17 @@ for cntinarg = 1:NInArg
UpdatedInArg(cntinarg).FindLike = 0;
UpdatedInArg(cntinarg).Dimension = 0;
UpdatedInArg(cntinarg).Scope = 'Number';
+ if((ASTFunName == 'cmd_analog_in' | ASTFunName == 'cmd_analog_in_volt' ) & cntinarg == 2)
+ numvalue = eval(tmpname);
+ if (SharedInfo.Board_name == 'mega' | SharedInfo.Board_name == 'mega2560') then
+ tmpname = string(numvalue + 54)
+ UpdatedInArg(cntinarg).Value = 54 + numvalue;
+ else
+ tmpname = string(numvalue + 14)
+ UpdatedInArg(cntinarg).Value = 14 + numvalue;
+ end
+ UpdatedInArg(cntinarg).Name = tmpname; // Change the name.
+ end
elseif (tmpscope == 'String')
// #RNU_RES_B
diff --git a/macros/SymbolTable/ST_InsOutArg.sci b/macros/SymbolTable/ST_InsOutArg.sci
index f4958ff..fd6b426 100644
--- a/macros/SymbolTable/ST_InsOutArg.sci
+++ b/macros/SymbolTable/ST_InsOutArg.sci
@@ -47,8 +47,6 @@ PrintStringInfo('***Putting output arguments in the symbol table***',ReportFileN
// ---------------------------
// --- End Initialization. ---
// ---------------------------
-
-
for counteroutput = 1:NOutArg
// #RNU_RES_B
PrintStringInfo(' Symbol ""'+OutArg(counteroutput).Name+'""',ReportFileName,'file','y','n');
diff --git a/macros/SymbolTable/ST_InsOutArg_Dup.sci b/macros/SymbolTable/ST_InsOutArg_Dup.sci
new file mode 100644
index 0000000..bca6623
--- /dev/null
+++ b/macros/SymbolTable/ST_InsOutArg_Dup.sci
@@ -0,0 +1,195 @@
+function ST_InsOutArg_Dup(InArg,NInArg,OutArg,NOutArg,com_type,FileInfo,SharedInfo,MatchRule)
+// function ST_InsOutArg(OutArg,NOutArg,FileInfo,SharedInfo,MatchRule)
+// -----------------------------------------------------------------
+// //NUT: add description here
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 26-Oct-2007 -- Raffaele Nutricato: Author.
+// 26-Oct-2007 -- Alberto Morea: Test Ok.
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+SCI2CNInArgCheck(argn(2),8,8)
+
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+//SCI2CNInArgCheck(argn(2),5,5);
+
+// -----------------------
+// --- Initialization. ---
+// -----------------------
+nxtscifunname = SharedInfo.NextSCIFunName;
+nxtscifunnumber = SharedInfo.NextSCIFunNumber;
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+CDeclarationFileName = FileInfo.Funct(nxtscifunnumber).CDeclarationFileName;
+CGblDeclarFileName = FileInfo.Funct(nxtscifunnumber).CGblDeclarFileName;
+
+GlobalVarsFileName = FileInfo.GlobalVarFileName;
+LocalVarsFileName = FileInfo.Funct(nxtscifunnumber).LocalVarFileName;
+TempVarsFileName = FileInfo.Funct(nxtscifunnumber).TempVarFileName;
+
+CPass1FileName = FileInfo.Funct(nxtscifunnumber).CPass1FileName;
+CPass1FreeFileName = FileInfo.Funct(nxtscifunnumber).CPass1FreeFileName;
+
+
+// #RNU_RES_B
+PrintStringInfo(' ',ReportFileName,'file','y');
+PrintStringInfo('***Putting output arguments in the symbol table***',ReportFileName,'file','y','n');
+// #RNU_RES_E
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+
+for counteroutput = 1:NOutArg
+ // #RNU_RES_B
+ PrintStringInfo(' Symbol ""'+OutArg(counteroutput).Name+'""',ReportFileName,'file','y','n');
+ PrintStringInfo(' Type: '+OutArg(counteroutput).Type,ReportFileName,'file','y','n');
+ PrintStringInfo(' Size(1): '+string(OutArg(counteroutput).Size(1)),ReportFileName,'file','y','n');
+ PrintStringInfo(' Size(2): '+string(OutArg(counteroutput).Size(2)),ReportFileName,'file','y','n');
+ PrintStringInfo(' Value: '+string(OutArg(counteroutput).Value),ReportFileName,'file','y','n');
+ PrintStringInfo(' FindLike: '+string(OutArg(counteroutput).FindLike),ReportFileName,'file','y','n');
+ PrintStringInfo(' Dimension: '+string(OutArg(counteroutput).Dimension),ReportFileName,'file','y','n');
+ PrintStringInfo(' Scope: '+string(OutArg(counteroutput).Scope),ReportFileName,'file','y','n');
+ PrintStringInfo(' ',ReportFileName,'file','y','n');
+ // #RNU_RES_E
+ if (OutArg(counteroutput).Scope == 'Temp')
+ SymbTableFileName = TempVarsFileName;
+ elseif (OutArg(counteroutput).Scope == 'Local')
+ SymbTableFileName = LocalVarsFileName;
+ elseif (OutArg(counteroutput).Scope == 'Global')
+ SymbTableFileName = GlobalVarsFileName;
+ else
+ error(9999, 'Unknown scope ""'+OutArg(counteroutput).Scope+'"" for symbol: '+OutArg(counteroutput).Name);
+ end
+ // #RNU_RES_B
+ PrintStringInfo(' Setting symbol ""'+OutArg(counteroutput).Name+'"" in '+SymbTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+
+ // #RNU_RES_B
+ // Check existence and conflicts in the symbol table.
+ // Here we have four possibilities:
+ // 1. the symbol is a global variable not initialized yet -> we have to initialize it.
+ // 2. the symbol already exists with different settings -> we have to issue an error.
+ // 3. the symbol already exists with the same settings -> ok, we don't have to do nothing.
+ // 4. the symbol doesn't exist -> we have to insert it into the table.
+ // #RNU_RES_E
+ [TBFlagfound,TBFlagEqualSymbols] = ...
+ ST_MatchSymbol(OutArg(counteroutput).Name,...
+ OutArg(counteroutput).Type,...
+ OutArg(counteroutput).Size,...
+ OutArg(counteroutput).Value,...
+ OutArg(counteroutput).FindLike,...
+ OutArg(counteroutput).Dimension,...
+ SymbTableFileName,MatchRule);
+
+ if (TBFlagfound == 1)
+ if (TBFlagEqualSymbols == 0)
+ PrintStringInfo(' ',ReportFileName,'both','y');
+ PrintStringInfo('SCI2CERROR: Symbol Table Conflict. Trying to insert again symbol ""'+...
+ OutArg(counteroutput).Name+'"" with different settings',ReportFileName,'both','y');
+ PrintStringInfo('SCI2CERROR: Please check that you are not using variable ""'+OutArg(counteroutput).Name+'""',ReportFileName,'both','y');
+ PrintStringInfo('SCI2CERROR: with different sizes and/or types.',ReportFileName,'both','y');
+ PrintStringInfo(' ',ReportFileName,'both','y');
+ error(9999, 'SCI2CERROR: Symbol Table Conflict. Trying to insert again symbol ""'+...
+ OutArg(counteroutput).Name+'"" with different settings');
+ else
+ // #RNU_RES_B
+ // It's ok symbols do match.
+ //NUT: forse occorre un altro check sulla size per capire se occore fare il malloc.
+ //NUT: qui entro anche quando ho una variabile global gia' dichiarata tale in un altro
+ //NUT: per cui devo dichiararala come external.
+ //RNU qui ci puoi mettere una warning quando stai riallocando uno stesso simbolo con size simbolica.
+ //RNU puoi anche aggiungere del codice in c o un semplice commento. per esempio una funzione c del tipo checksize che controlla il valore
+ //RNU prima dopo delle size di una data variabile. Cosa succede se cambio la size anche nel caso di array e approccio
+ //RNU di resize non attivo? L'unica cosa e' che molte size numeriche scompaiono e incomincio a creare numerose variabili
+ //RNU con size simbolica.
+
+ // If the symbol is scalar we update its value if it is an array we update its size
+ // only in case we are using the 'REALLOC_ALL_RESIZE_ALL' resize approach
+ // #RNU_RES_E
+ if ((GetSymbolDimension(OutArg(counteroutput).Size)) == 0 | (SharedInfo.ResizeApproach=='REALLOC_ALL_RESIZE_ALL'))
+ ST_Set(OutArg(counteroutput).Name,...
+ OutArg(counteroutput).Type,...
+ OutArg(counteroutput).Size,...
+ OutArg(counteroutput).Value,...
+ OutArg(counteroutput).FindLike,...
+ OutArg(counteroutput).Dimension,...
+ SymbTableFileName);
+ end
+
+ // IndentLevelDeclaration = 1; //NUT: per ora lo forzo sempre a 1
+ // IndentLevelMalloc = SharedInfo.NIndent;
+ // FlagExt = 0;
+ // C_GenDeclarations(OutArg(counteroutput),CDeclarationFileName,IndentLevelDeclaration,ReportFileName,FlagExt,SharedInfo.ResizeApproach);
+
+
+ end
+ elseif (TBFlagfound == 2)
+ // #RNU_RES_B
+ // We have a non-initialized global variable.
+ // Set the non-initialized global variable.
+ PrintStringInfo(' Found a non-initialized global variable.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ ST_Set(OutArg(counteroutput).Name,...
+ OutArg(counteroutput).Type,...
+ OutArg(counteroutput).Size,...
+ OutArg(counteroutput).Value,...
+ OutArg(counteroutput).FindLike,...
+ OutArg(counteroutput).Dimension,...
+ SymbTableFileName);
+ IndentLevel = 0; //NUT: forced always to 1
+ FlagExt = 0;
+ C_GenDeclarations(OutArg(counteroutput),CGblDeclarFileName,IndentLevel,ReportFileName,FlagExt,SharedInfo.ResizeApproach);
+ IndentLevelMalloc = SharedInfo.NIndent;
+ // #RNU_RES_B
+ //RNU da verificare bene qui. Cio' che si verifica e' che se la size della globale e' simbolica
+ //RNU allora si assume che essa sia da allocare come puntatore e poi realloc.
+ // #RNU_RES_E
+ C_MemAllocOutTempVars(OutArg(counteroutput),1,CPass1FileName,CPass1FreeFileName,IndentLevelMalloc,ReportFileName,SharedInfo.ResizeApproach);
+ else
+ if (OutArg(counteroutput).FindLike == 1)
+ // #RNU_RES_B
+ // In presence of find-like functions the size must be always symbolic.
+ // Don't change here the value of OutArg.Size because the first time
+ // I need them to declare the OutArg variable with the values assumed by OutArg.Size.
+ // #RNU_RES_E
+ TmpOutArgSize(1) = '__'+OutArg(counteroutput).Name+'Size[0]';
+ TmpOutArgSize(2) = '__'+OutArg(counteroutput).Name+'Size[1]';
+ else
+ TmpOutArgSize(1) = OutArg(counteroutput).Size(1);
+ TmpOutArgSize(2) = OutArg(counteroutput).Size(2);
+ end
+ // #RNU_RES_B
+ // Set a new symbol.
+ // #RNU_RES_E
+ ST_Set(OutArg(counteroutput).Name,...
+ OutArg(counteroutput).Type,...
+ TmpOutArgSize,...
+ OutArg(counteroutput).Value,...
+ OutArg(counteroutput).FindLike,...
+ OutArg(counteroutput).Dimension,...
+ SymbTableFileName);
+ IndentLevelDeclaration = 1; //NUT: per ora lo forzo sempre a 1
+ IndentLevelMalloc = SharedInfo.NIndent;
+ FlagExt = 0;
+ C_GenDeclarations_Dup(InArg,NInArg,com_type,OutArg(counteroutput),CPass1FileName,IndentLevelDeclaration,ReportFileName,FlagExt,SharedInfo.ResizeApproach);
+ // #RNU_RES_B
+ //RNU aggiunta qui in modo che le malloc saranno fatte una sola volta:
+ //RNU verifica che tutto funzioni e chi altro usa la C_MemAlloc per capire se si puo' ottimizzare per questo stadio.
+ // #RNU_RES_E
+ C_MemAllocOutTempVars(OutArg(counteroutput),1,CPass1FileName,CPass1FreeFileName,IndentLevelMalloc,ReportFileName,SharedInfo.ResizeApproach);
+ end
+
+end
+
+endfunction
diff --git a/macros/SymbolTable/lib b/macros/SymbolTable/lib
index 2e93305..4d1b4bb 100644
Binary files a/macros/SymbolTable/lib and b/macros/SymbolTable/lib differ
diff --git a/macros/SymbolTable/names b/macros/SymbolTable/names
index b5a7d65..c2efc84 100644
--- a/macros/SymbolTable/names
+++ b/macros/SymbolTable/names
@@ -6,6 +6,7 @@ ST_GetInArgInfo
ST_GetSymbolInfo
ST_InsForCntVars
ST_InsOutArg
+ST_InsOutArg_Dup
ST_Load
ST_MatchSymbol
ST_Save
diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index 6c4bb14..325f4d5 100644
--- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -437,6 +437,82 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+// ---------------------
+// --- Class Uint32. ---
+// ---------------------
+ClassName = 'Uint32';
+
+// --- 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= ''u32''',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('s0'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('i320'+ArgSeparator+'u320',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'u322',ClassFileName,'file','y');
+PrintStringInfo('i322'+ArgSeparator+'u322',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'uint32';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// ---------------------
+// --- Class Int32. ---
+// ---------------------
+ClassName = 'Int32';
+
+// --- 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= ''i32''',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('s0'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('u320'+ArgSeparator+'i320',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i322',ClassFileName,'file','y');
+PrintStringInfo('u322'+ArgSeparator+'i322',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'int32';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
// ------------------
// --- Class Sin. ---
// ------------------
@@ -843,6 +919,212 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+// -------------------
+// --- Class Isreal. ---
+// -------------------
+ClassName = 'Isreal';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'isreal';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+ClassName = 'gcd';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'gcd';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+ClassName = 'nextpow2';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'nextpow2';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+ClassName = 'interp1';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+PrintStringInfo('OUT(1).SZ(1)= IN(3).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 4',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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2s2s2g2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'interp1';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+// -------------------
+// --- Class DCT. ---
+// -------------------
+ClassName = 'dct';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c2s0'+ArgSeparator+'c2',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'dct';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+// -------------------
+// --- Class IDCT. ---
+// -------------------
+ClassName = 'idct';
+
+// --- 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= IN(1).TP',ClassFileName,'file','y'); //FOR INRIA changed from IN(1).TP to FA_TP_USER
+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('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'idct';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
// -------------------
// --- Class Sqrt. ---
// -------------------
@@ -1203,7 +1485,9 @@ ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('d0d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0s0s0'+ArgSeparator+'s2',ClassFileName,'file','y');
PrintStringInfo('d2d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
@@ -4685,58 +4969,50 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
-//---- Class Sleep -------------------
-
+//---- Class cmd_analog_in_volt -----------
//------------------------------------
-ClassName = 'sleep';
+ClassName = 'cmd_analog_in_volt';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''s''',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+'',ClassFileName,'file','y');
+PrintStringInfo('d0d0'+ArgSeparator+'s0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'sleep';
+FunctionName = 'cmd_analog_in_volt';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---Functions for AVR ---------------
-//------------------------------------
-
-
-//------------------------------------
-//---- Class AVRDigitalSetup ---------
+//---- Class cmd_i2c_dev -----------
//------------------------------------
-ClassName = 'AVRDigitalSetup';
+ClassName = 'cmd_i2c_dev';
// --- Class Annotation. ---
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('NIN= 1',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);
-//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
-//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'AVRDigitalSetup';
+FunctionName = 'cmd_i2c_dev';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
@@ -4744,17 +5020,235 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
-//---- Class AVRDigitalPortSetup ---------
+//---- Class cmd_i2c_write -----------
//------------------------------------
-ClassName = 'AVRDigitalPortSetup';
+ClassName = 'cmd_i2c_write';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 0 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''s''',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('d0d0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80d0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_i2c_write';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class cmd_i2c_read -----------
+//------------------------------------
+ClassName = 'cmd_i2c_read';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''s''',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('d0d0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80d0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_i2c_read';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class cmd_i2c_read_register -----------
+//------------------------------------
+ClassName = 'cmd_i2c_read_register';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''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('d0d0'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u80d0'+ArgSeparator+'u160',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_i2c_read_register';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
+//---- Class cmd_i2c_write_register -----------
+//------------------------------------
+ClassName = 'cmd_i2c_write_register';
+
+// --- Class Annotation. ---
+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= ''s''',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('d0d0d0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80d0d0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_i2c_write_register';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+//------------------------------------
+//---- Class Sleep -------------------
+
+//------------------------------------
+ClassName = 'sleep';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 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('d0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'sleep';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class cmd_analog_out_volt ----------
+//------------------------------------
+ClassName = 'cmd_analog_out_volt';
+
+// --- Class Annotation. ---
+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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0d0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('d0d0s0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_analog_out_volt';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class cmd_dcmotor_release -------
+//------------------------------------
+ClassName = 'cmd_dcmotor_release';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',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('d0d0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cmd_dcmotor_release';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---Functions for AVR ---------------
+//------------------------------------
+
+
+//------------------------------------
+//---- Class AVRDigitalSetup ---------
+//------------------------------------
+ClassName = 'AVRDigitalSetup';
+
+// --- Class Annotation. ---
+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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'AVRDigitalSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class AVRDigitalPortSetup ---------
+//------------------------------------
+ClassName = 'AVRDigitalPortSetup';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''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. ---
@@ -5198,9 +5692,6 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
-
-
-
//------------------------------------
//---- Class AVRUARTReceiveChar -----------
//------------------------------------
@@ -5217,8 +5708,6 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-//PrintStringInfo('d0d0d0'+ArgSeparator+'u80',ClassFileName,'file','y');
-//PrintStringInfo('d0d0u80'+ArgSeparator+'u80',ClassFileName,'file','y');
PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
@@ -5229,1431 +5718,2789 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
+
//------------------------------------
-//---- Class RPI_DigitalSetup --------
+//---- Class RPI_0IN_Void ----------
//------------------------------------
-ClassName = 'RPI_DigitalSetup';
+ClassName = 'RPI_0IN_Void';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0 ',ClassFileName,'file','y');
+PrintStringInfo('NIN= 0',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(''+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_DigitalSetup';
+FunctionName = 'RPI_gertBoardSPISetup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'RPI_DigitalOut';
+//------------------------------------
+//---- Class RPI_0IN_u8 ------------
+//------------------------------------
+ClassName = 'RPI_0IN_u8';
+
+// --- 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= ''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(''+ArgSeparator+'u80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_boardRev';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_HardPWMWrite';
+FunctionName = 'RPI_digitalReadByte';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_DigitalIn -----------
+//---- Class RPI_0IN_u32 -----------
//------------------------------------
-ClassName = 'RPI_DigitalIn';
+ClassName = 'RPI_0IN_u32';
// --- 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= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 0',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''u32''',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+'',ClassFileName,'file','y');
+PrintStringInfo(''+ArgSeparator+'u320',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_DigitalIn';
+FunctionName = 'RPI_millis';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_micros';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_DelayMilli ----------
+//---- Class RPI_1IN_u8_Void -------
//------------------------------------
-ClassName = 'RPI_DelayMilli';
+ClassName = 'RPI_1IN_u8_Void';
-//--- Class Annotation. ---
+// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0 ',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. ---
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_DelayMilli';
+FunctionName = 'RPI_digitalWriteByte';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_DelayMicro';
+FunctionName = 'RPI_lcdClear';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_SerialClose';
+FunctionName = 'RPI_lcdHome';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_SerialFlush';
+FunctionName = 'RPI_piGlowSetup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_HardPWMSetRange';
+FunctionName = 'RPI_serialClose';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_HardPWMSetClock';
+FunctionName = 'RPI_serialFlush';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_HardPWMSetMode';
+FunctionName = 'RPI_softPwmStop';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_softToneStop';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_GetMilli ----------
+//---- Class RPI_1IN_u16_Void ------
//------------------------------------
-ClassName = 'RPI_GetMilli';
+ClassName = 'RPI_1IN_u16_Void';
// --- 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= ''u32''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 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(''+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_GetMillis';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'RPI_GetMicros';
+FunctionName = 'RPI_pwmClock';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_SetupSerial ----------
+//---- Class RPI_1IN_u32_Void ------
//------------------------------------
-ClassName = 'RPI_SetupSerial';
+ClassName = 'RPI_1IN_u32_Void';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''u16''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 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(''+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u320'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialSetup';
+FunctionName = 'RPI_pwmRange';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_delay';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_delayMicro';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_SetupClose ----------
+//---- Class RPI_1IN_g_Void --------
//------------------------------------
-//ClassName = 'RPI_SetupClose';
+ClassName = 'RPI_1IN_g_Void';
// --- 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= ''u8''',ClassFileName,'file','y');
-//PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-//PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 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(''+ArgSeparator+'',ClassFileName,'file','y');
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-//FunctionName = 'RPI_SerialClose';
-//PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-//INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-//INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//FunctionName = 'RPI_SerialFlush';
-//PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-//INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-//INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_pwmMode';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_SerialSendData ----------
+//---- Class RPI_1IN_u8_i8 ---------
//------------------------------------
-ClassName = 'RPI_SerialSendData';
+ClassName = 'RPI_1IN_u8_i8';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 0 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''u8''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 1',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('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80i80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80u160'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80i160'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80s0'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80d0'+ArgSeparator+'u80',ClassFileName,'file','y');
-
-PrintStringInfo('u80u82'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80i82'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80u162'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80i162'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80s2'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80d2'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u80g2'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialSendData';
+FunctionName = 'RPI_I2CSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_wpiToGpio';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_physToGpio';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_SerialDataAvail ----------
+//---- Class RPI_1IN_u16_i8 --------
//------------------------------------
-ClassName = 'RPI_SerialDataAvail';
+ClassName = 'RPI_1IN_u16_i8';
// --- 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= ''i16''',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+'',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialDataAvail';
+FunctionName = 'RPI_I2CRead';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'RPI_SerialGetChar';
+FunctionName = 'RPI_gertboardAnalogSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_sn3218Setup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
//------------------------------------
-//---- Class RPI_ThreadCreate ----------
+//---- Class RPI_1IN_g_i8 ----------
//------------------------------------
-ClassName = 'RPI_ThreadCreate';
+ClassName = 'RPI_1IN_g_i8';
// --- 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= ''u16''',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+'',ClassFileName,'file','y');
+PrintStringInfo('g2'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_ThreadCreate';
+FunctionName = 'RPI_pinNumbering';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class RPI_PinISR --------------
+//---- Class RPI_1IN_u8_u8 ---------
//------------------------------------
-ClassName = 'RPI_PinISR';
+ClassName = 'RPI_1IN_u8_u8';
// --- Class Annotation. ---
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= ''i16''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 1',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);
-
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_PinISR';
+FunctionName = 'RPI_getAlt';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_digitalRead';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_serialDataAvail';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_softToneCreate';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class ODE ---------------------
+//---- Class RPI_1IN_u16_u16 -------
//------------------------------------
-ClassName = 'ODE';
+ClassName = 'RPI_1IN_u16_u16';
// --- 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= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+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)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-//Arguements specified: initial value, start time, end time, ode function
-PrintStringInfo('NIN= 4',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(3).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-//Arguements specified: solver type, initial value, start time, end time, ode function
-PrintStringInfo('NIN= 5',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(2).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(2).SZ(2),IN(4).SZ(2))',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_gertboardAnalogRead';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//Arguements specified: solver type, initial value, start time, end time, ode function
-PrintStringInfo('NIN= 5',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(2).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(4).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(4).SZ(2)',ClassFileName,'file','y');
+//------------------------------------
+//---- Class RPI_1IN_u8_g ------
+//------------------------------------
+ClassName = 'RPI_1IN_u8_g';
-//Arguements specified: initial value, start time, end time, relative tolerance,
-// absolute tolerance, ode function
-PrintStringInfo('NIN= 6',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+// --- 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= ''g''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))',ClassFileName,'file','y');
-
-//Arguements specified: initial value, start time, end time, relative tolerance,
-// absolute tolerance, ode function
-PrintStringInfo('NIN= 6',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(3).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('g2d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('g2d2d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_serialGetchar';
-PrintStringInfo('d0d0d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d2d0d0d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0d0d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2d0d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+//------------------------------------
+//---- Class RPI_2IN_u8u8_Void -----
+//------------------------------------
+ClassName = 'RPI_2IN_u8u8_Void';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',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('u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'ode';
+FunctionName = 'RPI_pinModeAlt';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdCursor';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdSendCommand';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdCursorBlink';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdDisplay';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdPutchar';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_padDrive';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_piGlowLeg';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_piGlowRing';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_digitalWrite';
+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);
//------------------------------------
-//---- Class CUMSUM ---------------------
+//---- Class RPI_2IN_u8u16_Void ----
//------------------------------------
-ClassName = 'CUMSUM';
+ClassName = 'RPI_2IN_u8u16_Void';
// --- 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= 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');
-
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+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('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80u160'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-
-PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2g2'+ArgSeparator+'s2',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 = 'cumsum';
+FunctionName = 'RPI_pwmWrite';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'cumprod';
+FunctionName = 'RPI_pwmToneWrite';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_softPwmWrite';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class TRIU ---------------------
+//---- Class RPI_2IN_u16u16_Void ---
//------------------------------------
-ClassName = 'TRIU';
+ClassName = 'RPI_2IN_u16u16_Void';
// --- 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= 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');
-
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+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('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
-
-PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
-PrintStringInfo('u80d0'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('i80d0'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('u160d0'+ArgSeparator+'u160',ClassFileName,'file','y');
-PrintStringInfo('i160d0'+ArgSeparator+'i160',ClassFileName,'file','y');
-
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'triu';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'tril';
+FunctionName = 'RPI_gertboardAnalogWrite';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class KRON --------------------
+//---- Class RPI_2IN_u8g_Void ------
//------------------------------------
-ClassName = 'KRON';
+ClassName = 'RPI_2IN_u8g_Void';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= FA_MUL(IN(1).SZ(1),IN(2).SZ(1))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(2).SZ(2))',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('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-
-PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-
-PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u80g2'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'kron';
+FunctionName = 'RPI_pinMode';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdPuts';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_lcdPrintf';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_pullControl';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_serialPrintf';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_serialPuts';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class FLIPDIM -----------------
+//---- Class RPI_2IN_u8u32_Void ----
//------------------------------------
-ClassName = 'FLIPDIM';
+ClassName = 'RPI_2IN_u8u32_Void';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 3',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');
+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('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s0d0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82u80u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82i80u80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162u160u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162i160i160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82d0d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82d0d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162d0d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162d0d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u80u320'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'flipdim';
+FunctionName = 'RPI_softToneWrite';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
//------------------------------------
-//---- Class DIFF -----------------
+//---- Class RPI_2IN_u8i16_i8 ------
//------------------------------------
-ClassName = 'DIFF';
+ClassName = 'RPI_2IN_u8i16_i8';
// --- 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)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,''1'',''0''))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,''1'',''0''))',ClassFileName,'file','y');
-
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,''0''))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,''0''))',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))',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('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s2d0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82u80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162u160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2d0d0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s2s0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('u82d0d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u82u80d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('i82d0d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i82u80d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('u162d0d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('u162u160d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('i162d0d0'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('i162u160d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u80i160'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'diff';
+FunctionName = 'RPI_waitForInterrupt';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class NORM --------------------
+//---- Class RPI_2IN_u16u16_i8 -----
//------------------------------------
-ClassName = 'NORM';
+ClassName = 'RPI_2IN_u16u16_i8';
// --- 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)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',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('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
-
-PrintStringInfo('d2d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('s2d0'+ArgSeparator+'s0',ClassFileName,'file','y');
-
-PrintStringInfo('d2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2g2'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'norm';
+FunctionName = 'RPI_I2CWrite';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_I2CReadReg8';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_I2CReadReg16';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CONVSTR --------------------
+//---- Class RPI_2IN_gu32_i8 -----
//------------------------------------
-ClassName = 'CONVSTR';
+ClassName = 'RPI_2IN_gu32_i8';
// --- 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');
-
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(1)',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('g0'+ArgSeparator+'g0',ClassFileName,'file','y');
-PrintStringInfo('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('g0g0'+ArgSeparator+'g0',ClassFileName,'file','y');
-PrintStringInfo('g2g0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('g2u320'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'convstr';
+FunctionName = 'RPI_serialOpen';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class cvCreateImage --------------------
+//---- Class RPI_2IN_u16u8_u8 -----
//------------------------------------
-ClassName = 'CV_CreateImage';
+ClassName = 'RPI_2IN_u16u8_u8';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''i8''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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('d0d0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u160u80'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_CreateImage';
+FunctionName = 'RPI_pcf8574Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_pcf8591Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_mcp23008Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_mcp23016Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_mcp23017Setup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class cvLoadImage --------------------
+//---- Class RPI_3IN_u8u8u8_Void ---
//------------------------------------
-ClassName = 'CV_LoadImage';
+ClassName = 'RPI_3IN_u8u8u8_Void';
// --- Class Annotation. ---
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('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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('g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_LoadImage';
+FunctionName = 'RPI_lcdPosition';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_piGlow1';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class cvShowImage -------------
+//---- Class RPI_3IN_u16u16u16_i8 --
//------------------------------------
-ClassName = 'CV_ShowImage';
+ClassName = 'RPI_3IN_u16u16u16_i8';
// --- Class Annotation. ---
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('NIN= 2',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('NIN= 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('g2mt0'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('mt0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u160u160u160'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_ShowImage';
+FunctionName = 'RPI_I2CWriteReg8';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-FunctionName = 'CV_SaveImage';
+FunctionName = 'RPI_I2CWriteReg16';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_WaitKey --------------
+//---- Class RPI_3IN_u8u8u8_u8 -----
//------------------------------------
-ClassName = 'CV_WaitKey';
+ClassName = 'RPI_3IN_u8u8u8_u8';
// --- Class Annotation. ---
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('NIN= 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('d0'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_WaitKey';
+FunctionName = 'RPI_shiftIn';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_CvtColor -------------
+//---- Class RPI_3IN_u8u16u16_u8 ---
//------------------------------------
-ClassName = 'CV_CvtColor';
+ClassName = 'RPI_3IN_u8u16u16_u8';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+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);
-PrintStringInfo('mt0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u80u160u160'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_CvtColor';
+FunctionName = 'RPI_softPwmCreate';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_GetImgSize -----------
+//---- Class RPI_3IN_u16u8u16_u8 ---
//------------------------------------
-ClassName = 'CV_GetImgSize';
+ClassName = 'RPI_3IN_u16u8u16_u8';
// --- 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= ''d''',ClassFileName,'file','y');
+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)= ''2''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u160u160u160'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_GetImgSize';
+FunctionName = 'RPI_mcp23s08Setup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_mcp23s17Setup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_Threshold -----------
+//---- Class RPI_4IN_u8u8u8u8_Void -
//------------------------------------
-ClassName = 'CV_Threshold';
+ClassName = 'RPI_4IN_u8u8u8u8_Void';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-
PrintStringInfo('NIN= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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('mt0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_Threshold';
+FunctionName = 'RPI_shiftOut';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class CV_AdaptiveThreshold -----------
-//------------------------------------
-ClassName = 'CV_AdaptiveThreshold';
+//--------------------------------------
+//---- Class RPI_5IN_u16u8u8u8u8_i8 --
+//--------------------------------------
+ClassName = 'RPI_5IN_u16u8u8u8u8_i8';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-
-PrintStringInfo('NIN= 6',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 5',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('mt0d0g2g2d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u160u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_AdaptiveThreshold';
+FunctionName = 'RPI_sr595Setup';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_DistanceTransform ----
+//---- Class RPI_10IN_u8x10_Void ---
//------------------------------------
-ClassName = 'CV_DistanceTransform';
+ClassName = 'RPI_10IN_u8x10_Void';
// --- Class Annotation. ---
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= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 10',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('mt0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_DistanceTransform';
+FunctionName = 'RPI_lcdCharDef';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_Blur -----------------
+//---- Class RPI_13IN_u8x13_u8 -----
//------------------------------------
-ClassName = 'CV_Blur';
+ClassName = 'RPI_13IN_u8x13_u8';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-
-PrintStringInfo('NIN= 6',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0d0d0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('u80u80u80u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_Blur';
+FunctionName = 'RPI_lcdInit';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'CV_GaussianBlur';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class CV_MedianBlur -----------------
+//---- Class ODE ---------------------
//------------------------------------
-ClassName = 'CV_MedianBlur';
+ClassName = 'ODE';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+//Arguements specified: initial value, start time, time vector, ode function
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-
-ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))',ClassFileName,'file','y');
-// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_MedianBlur';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//Arguements specified: initial value, start time, end time, ode function
+PrintStringInfo('NIN= 4',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(3).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
-//------------------------------------
-//---- Class CV_Dilate ---------------
-//------------------------------------
-ClassName = 'CV_Dilate';
+//Arguements specified: solver type, initial value, start time, end time, ode function
+PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(2).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(2).SZ(2),IN(4).SZ(2))',ClassFileName,'file','y');
-// --- Class Annotation. ---
-PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
-ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+//Arguements specified: solver type, initial value, start time, end time, ode function
+PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(2).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(4).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(4).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+//Arguements specified: initial value, start time, end time, relative tolerance,
+// absolute tolerance, ode function
+PrintStringInfo('NIN= 6',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))',ClassFileName,'file','y');
+//Arguements specified: initial value, start time, end time, relative tolerance,
+// absolute tolerance, ode function
PrintStringInfo('NIN= 6',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(3).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
-PrintStringInfo('mt0g2d0d0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_Dilate';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+PrintStringInfo('g2d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('g2d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('g2d2d0d2fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
-FunctionName = 'CV_Erode';
+PrintStringInfo('d0d0d0d0d0fn0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d0d0d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0d0d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0d2d0d0fn0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'ode';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class CV_Canny ----------------
+//---- Class CUMSUM ---------------------
//------------------------------------
-ClassName = 'CV_Canny';
+ClassName = 'CUMSUM';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+//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= ''mt''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''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');
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2g2'+ArgSeparator+'s2',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 = 'cumsum';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'cumprod';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class TRIU ---------------------
+//------------------------------------
+ClassName = 'TRIU';
+
+// --- 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= 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');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80d0'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160d0'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160d0'+ArgSeparator+'i160',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'triu';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'tril';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class KRON --------------------
+//------------------------------------
+ClassName = 'KRON';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_MUL(IN(1).SZ(1),IN(2).SZ(1))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(2).SZ(2))',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+PrintStringInfo('d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'kron';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class FLIPDIM -----------------
+//------------------------------------
+ClassName = 'FLIPDIM';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',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('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('i80i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('u160u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('i160i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0d0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82u80u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82i80u80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162i160i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82d0d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82d0d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162d0d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162d0d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'flipdim';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class DIFF -----------------
+//------------------------------------
+ClassName = 'DIFF';
+
+// --- 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)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,''1'',''0''))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,''1'',''0''))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,''0''))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,''0''))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2d0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('u82u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82u80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162u160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2d0d0'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s2s0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u82d0d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u82u80d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('i82d0d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i82u80d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('u162d0d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('u162u160d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('i162d0d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('i162u160d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'diff';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class NORM --------------------
+//------------------------------------
+ClassName = 'NORM';
+
+// --- 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)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+PrintStringInfo('d2d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('s2d0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+PrintStringInfo('d2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2g2'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'norm';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CONVSTR --------------------
+//------------------------------------
+ClassName = 'CONVSTR';
+
+// --- 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');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(1)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('g0g0'+ArgSeparator+'g0',ClassFileName,'file','y');
+PrintStringInfo('g2g0'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'convstr';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class cvCreateImage --------------------
+//------------------------------------
+ClassName = 'CV_CreateImage';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_CreateImage';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class cvLoadImage --------------------
+//------------------------------------
+ClassName = 'CV_LoadImage';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_LoadImage';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class cvShowImage -------------
+//------------------------------------
+ClassName = 'CV_ShowImage';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',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('NIN= 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');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2mt0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('mt0'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_ShowImage';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'CV_SaveImage';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_WaitKey --------------
+//------------------------------------
+ClassName = 'CV_WaitKey';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 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');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_WaitKey';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_CvtColor -------------
+//------------------------------------
+ClassName = 'CV_CvtColor';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_CvtColor';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_GetImgSize -----------
+//------------------------------------
+ClassName = 'CV_GetImgSize';
+
+// --- 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= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_GetImgSize';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_Threshold -----------
+//------------------------------------
+ClassName = 'CV_Threshold';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_Threshold';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_AdaptiveThreshold -----------
+//------------------------------------
+ClassName = 'CV_AdaptiveThreshold';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 6',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0g2g2d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_AdaptiveThreshold';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_DistanceTransform ----
+//------------------------------------
+ClassName = 'CV_DistanceTransform';
+
+// --- Class Annotation. ---
+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= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_DistanceTransform';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_Blur -----------------
+//------------------------------------
+ClassName = 'CV_Blur';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 6',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0d0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_Blur';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'CV_GaussianBlur';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_MedianBlur -----------------
+//------------------------------------
+ClassName = 'CV_MedianBlur';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_MedianBlur';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_Dilate ---------------
+//------------------------------------
+ClassName = 'CV_Dilate';
+
+// --- Class Annotation. ---
+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= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 6',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('mt0g2d0d0g2d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_Dilate';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'CV_Erode';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_Canny ----------------
+//------------------------------------
+ClassName = 'CV_Canny';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0d0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('mt0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_Canny';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CV_CornerHarris ----------------
+//------------------------------------
+ClassName = 'CV_CornerHarris';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('mt0d0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('mt0d0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'CV_CornerHarris';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class syslin ------------------
+//------------------------------------
+ClassName = 'SYSLIN';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+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)), ''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)), ''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)), ''2'')',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d2d2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+
+PrintStringInfo('g2d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+
+PrintStringInfo('g2d0d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d0d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d2d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+
+PrintStringInfo('g2d0d0d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d0d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d0d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d0d2d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
+PrintStringInfo('g2d2d2d2d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'syslin';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class schur -------------------
+//------------------------------------
+ClassName = 'SCHUR';
+
+// --- 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');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',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');
+PrintStringInfo('OUT(2).TP= FA_SCHUR_TP(IN(2).TP)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 4',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',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');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 4',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 5',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(5).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(5).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(5).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d0d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2g2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d2d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d2d2d0',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'schur';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+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_2(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_1(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');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_2(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_1(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');
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_2(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_1(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');
+PrintStringInfo('ss2d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('ss2d2d2d2'+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);
+
+//------------------------------------
+//---- Class obscont -----------------
+//------------------------------------
+ClassName = 'OBSCONT';
+
+// --- Class Annotation. ---
+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= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',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_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''2''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('ss2d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('ss2d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'obscont';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class svd ---------------------
+//------------------------------------
+ClassName = 'SVD';
+
+// --- 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)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2g2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z2g2'+ArgSeparator+'z2z2z2',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2z2z2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'svd';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class HESS ---------------------
+//------------------------------------
+ClassName = 'HESS';
+
+// --- 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');
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'hess';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class SVA ---------------------
+//------------------------------------
+ClassName = 'SVA';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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)= FA_SZ_U_SVA(IN(1),IN(2).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'sva';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class balanc ------------------
+//------------------------------------
+ClassName = 'BALANC';
+
+// --- 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= 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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 4',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');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2d2d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'balanc';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RCOND -------------------
+//------------------------------------
+ClassName = 'RCOND';
+
+// --- 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= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'rcond';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CONVSTR --------------------
+//------------------------------------
+ClassName = 'CONVSTR';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+//PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+//PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(1)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'convstr';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class STRSUBST --------------------
+//------------------------------------
+ClassName = 'STRSUBST';
+
+// --- 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= 3',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');
+
+PrintStringInfo('NIN= 4',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('g2g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('g2g2g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strsubst';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class STRCMP --------------------
+//------------------------------------
+ClassName = 'STRCMP';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',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(1)',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+//PrintStringInfo('g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('g2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('g2g2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strcmp';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class STRREV --------------------
+//------------------------------------
+ClassName = 'STRREV';
+
+// --- 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= 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('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strrev';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class STRRCHR --------------------
+//------------------------------------
+ClassName = 'STRRCHR';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strrchr';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class STRCHR --------------------
+//------------------------------------
+ClassName = 'STRCHR';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0d0d0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
-PrintStringInfo('mt0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_Canny';
+FunctionName = 'strchr';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
//------------------------------------
-//---- Class CV_CornerHarris ----------------
+//---- Class STRNCPY --------------------
//------------------------------------
-ClassName = 'CV_CornerHarris';
+ClassName = 'STRNCPY';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 5',ClassFileName,'file','y');
+//Arguements specified: initial value, start time, time vector, ode function
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(2).VAL',ClassFileName,'file','y');
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strncpy';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
+//---- Class STRSPN --------------------
+//------------------------------------
+ClassName = 'STRSPN';
+
+// --- 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= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''mt''',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');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('mt0d0d0d0g2'+ArgSeparator+'mt0',ClassFileName,'file','y');
-PrintStringInfo('mt0d0d0d0'+ArgSeparator+'mt0',ClassFileName,'file','y');
+PrintStringInfo('g2g2'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'CV_CornerHarris';
+FunctionName = 'strspn';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
//------------------------------------
-//---- Class syslin ------------------
+//---- Class STRCSPN --------------------
//------------------------------------
-ClassName = 'SYSLIN';
+ClassName = 'STRCSPN';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+//Arguements specified: initial value, start time, time vector, ode function
+PrintStringInfo('NIN= 2',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)), ''2'')',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('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)), ''2'')',ClassFileName,'file','y');
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2g2'+ArgSeparator+'u80',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)), ''2'')',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'strcspn';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('g2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d2d2d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-PrintStringInfo('g2d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d2d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d2d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d0d0d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d0d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d0d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d0d2d2d2d0'+ArgSeparator+'ss2',ClassFileName,'file','y');
-PrintStringInfo('g2d2d2d2d0d2'+ArgSeparator+'ss2',ClassFileName,'file','y');
+
+
+//------------------------------------
+//---- Class ASCII --------------------
+//------------------------------------
+ClassName = 'ASCII';
+
+// --- 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= FA_TP_ASCII(IN(1).TP)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SUB(IN(1).SZ(2),''1'')',ClassFileName,'file','y');
+
+//PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+//PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).TP= FA_TP_ASCII(IN(1).TP)',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(2)= FA_SUB(IN(1).SZ(2),''1'')',ClassFileName,'file','y');
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'g2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'syslin';
+FunctionName = 'ascii';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class schur -------------------
+//---- Class DEC2BIN --------------------
//------------------------------------
-ClassName = 'SCHUR';
+ClassName = 'DEC2BIN';
// --- 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= 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');
-
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BIN(IN(1).VAL),IN(1).SZ(2))',ClassFileName,'file','y');
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(2).VAL,IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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');
-PrintStringInfo('OUT(2).TP= FA_SCHUR_TP(IN(2).TP)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))',ClassFileName,'file','y');
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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');
-PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 4',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i80d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i160d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u80d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u160d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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');
-PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'dec2bin';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 4',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+
+
+//------------------------------------
+//---- Class DEC2BASE --------------------
+//------------------------------------
+ClassName = 'DEC2BASE';
+
+// --- 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= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''g''',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BASE(IN(1).VAL,IN(2).VAL),IN(1).SZ(2))',ClassFileName,'file','y');
PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 5',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''g''',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(5).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(5).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(5).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(IN(2).VAL,IN(1).SZ(2))',ClassFileName,'file','y');
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2d0d2',ClassFileName,'file','y');
-PrintStringInfo('d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2d2'+ArgSeparator+'d2d2d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2d2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d2d2g2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2d2g2'+ArgSeparator+'d2d2d2d2d0',ClassFileName,'file','y');
+PrintStringInfo('d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('s0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('s2d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+PrintStringInfo('d0d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('d2d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('s0d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('s2d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'schur';
+FunctionName = 'dec2base';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
//------------------------------------
-//---- Class lqr ---------------------
+//---- Class DEC2OCT --------------------
//------------------------------------
-ClassName = 'LQR';
+ClassName = 'DEC2OCT';
// --- 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= 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');
+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)= FA_MUL(FA_SZ_DEC2OCT(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('ss2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'lqr';
+FunctionName = 'dec2oct';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
//------------------------------------
-//---- Class lqe ---------------------
+//---- Class DEC2HEX --------------------
//------------------------------------
-ClassName = 'LQE';
+ClassName = 'DEC2HEX';
// --- 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= 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');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2HEX(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('ss2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'g2',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'g2',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'lqe';
+FunctionName = 'dec2hex';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class obscont -----------------
+//---- Class BIN2DEC --------------------
//------------------------------------
-ClassName = 'OBSCONT';
+ClassName = 'BIN2DEC';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+//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= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 3',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_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''2''',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('ss2d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('ss2d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'obscont';
+FunctionName = 'bin2dec';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class svd ---------------------
+//---- Class SVD -------------------
//------------------------------------
ClassName = 'SVD';
@@ -6755,9 +8602,6 @@ ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
PrintStringInfo('d2g2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z2g2'+ArgSeparator+'z2z2z2',ClassFileName,'file','y');
-PrintStringInfo('z2'+ArgSeparator+'z2z2z2',ClassFileName,'file','y');
PrintStringInfo('d2'+ArgSeparator+'d2d2d2d0',ClassFileName,'file','y');
PrintStringInfo('d2d0'+ArgSeparator+'d2d2d2d0',ClassFileName,'file','y');
@@ -6767,721 +8611,521 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
//------------------------------------
-//---- Class HESS ---------------------
+//---- Class SVA ---------------------
//------------------------------------
-ClassName = 'HESS';
+ClassName = 'SVA';
// --- 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('NOUT= 3',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');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',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');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'hess';
+FunctionName = 'sva';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class SQROOT ---------------------
+//---- Class OCT2DEC --------------------
//------------------------------------
-ClassName = 'SQROOT';
+ClassName = 'OCT2DEC';
// --- 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= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+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');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-
-// --- Annotation Function And Function List Function. ---
-FunctionName = 'sqroot';
-PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
-INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-
-//------------------------------------
-//---- Class GIVENS ---------------------
-//------------------------------------
-ClassName = 'GIVENS';
-
-// --- 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)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''2''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
+PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
+PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0d0'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
+PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
+PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'givens';
+FunctionName = 'oct2dec';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-
//------------------------------------
-//---- Class HOUSEHOLDER---------------------
+//---- Class HEX2DEC --------------------
//------------------------------------
-ClassName = 'HOUSEHOLDER';
+ClassName = 'HEX2DEC';
// --- 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)= ''1''',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+//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= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'householder';
+FunctionName = 'hex2dec';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-
//------------------------------------
-//---- Class FULLRF---------------------
+//---- Class BASE2DEC --------------------
//------------------------------------
-ClassName = 'FULLRF';
+ClassName = 'BASE2DEC';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
-
-
+//Arguements specified: initial value, start time, time vector, ode function
PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2d0'+ArgSeparator+'d2d2d0',ClassFileName,'file','y');
-
+PrintStringInfo('g2d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+//PrintStringInfo('g2'+ArgSeparator+'d2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'fullrf';
+FunctionName = 'base2dec';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class QR---------------------
-//------------------------------------
-ClassName = 'QR';
+// ------------------
+// --- Class Cosd. ---
+// ------------------
+ClassName = 'Cosd';
// --- 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= 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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',ClassFileName,'file','y');
+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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');;
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 4',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');;
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 4',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');;
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',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('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2d0'+ArgSeparator+'d2d2d0d2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2d2d0d2',ClassFileName,'file','y');
-
-
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'qr';
+FunctionName = 'cosd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class ROWCOMP ---------------------
-//------------------------------------
-ClassName = 'ROWCOMP';
+// ------------------
+// --- Class Cotd. ---
+// ------------------
+ClassName = 'Cotd';
// --- 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');
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 2',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(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
-
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2g2'+ArgSeparator+'d2d0',ClassFileName,'file','y');
-PrintStringInfo('d2g2d0'+ArgSeparator+'d2d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'rowcomp';
+FunctionName = 'cotd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-
-//------------------------------------
-//---- Class SVA ---------------------
-//------------------------------------
-ClassName = 'SVA';
+// ------------------
+// --- Class Coth. ---
+// ------------------
+ClassName = 'Coth';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 3',ClassFileName,'file','y');
+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)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= FA_MIN(IN(1).SZ(1),IN(1).SZ(2))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2d0'+ArgSeparator+'d2d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'sva';
+FunctionName = 'coth';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class balanc ------------------
-//------------------------------------
-ClassName = 'BALANC';
+
+// ------------------
+// --- Class Csc. ---
+// ------------------
+ClassName = 'Csc';
// --- 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= 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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 4',ClassFileName,'file','y');
+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');
-PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
-PrintStringInfo('d2d2'+ArgSeparator+'d2d2d2d2',ClassFileName,'file','y');
+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');
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'balanc';
+FunctionName = 'csc';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class RCOND -------------------
-//------------------------------------
-ClassName = 'RCOND';
+
+
+// ------------------
+// --- Class Cscd. ---
+// ------------------
+ClassName = 'Cscd';
// --- 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');
-PrintStringInfo('NIN= 1',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''d''',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+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'rcond';
+FunctionName = 'cscd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class CONVSTR --------------------
-//------------------------------------
-ClassName = 'CONVSTR';
+
+
+// ------------------
+// --- Class Csch. ---
+// ------------------
+ClassName = 'Csch';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
-//PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-//PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-//PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-//PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-//PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(1)',ClassFileName,'file','y');
-
-
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-//PrintStringInfo('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+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');
+
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'convstr';
+FunctionName = 'csch';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class STRSUBST --------------------
-//------------------------------------
-ClassName = 'STRSUBST';
+
+// --- Class Sec. ---
+// ------------------
+ClassName = 'Sec';
// --- 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= 3',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');
-
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
-
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('g2g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('g2g2g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+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');
+
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'strsubst';
+FunctionName = 'sec';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class STRCMP --------------------
-//------------------------------------
-ClassName = 'STRCMP';
+// ------------------
+// --- Class Secd. ---
+// ------------------
+ClassName = 'Secd';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
-PrintStringInfo('NIN= 3',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(1)',ClassFileName,'file','y');
-
-
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-//PrintStringInfo('g2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('g2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('g2g2g2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'strcmp';
+FunctionName = 'secd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-//------------------------------------
-//---- Class STRREV --------------------
-//------------------------------------
-ClassName = 'STRREV';
+// --- Class Sech. ---
+// ------------------
+ClassName = 'Sech';
// --- 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('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');
-
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+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');
+
+PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'strrev';
+FunctionName = 'sech';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class STRRCHR --------------------
+//---- Class FACTORIAL --------------------
//------------------------------------
-ClassName = 'STRRCHR';
+ClassName = 'FACTORIAL';
// --- 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= 2',ClassFileName,'file','y');
+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('g2g2'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'strrchr';
+FunctionName = 'factorial';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
-
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-//------------------------------------
-//---- Class DEC2BIN --------------------
-//------------------------------------
-ClassName = 'DEC2BIN';
+// --- Class Interp1. ---
+// ------------------
+ClassName = 'Interp1';
// --- 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= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BIN(IN(1).VAL),IN(1).SZ(2))',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+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)= FA_MUL(IN(2).VAL,IN(1).SZ(2))',ClassFileName,'file','y');
-
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u162',ClassFileName,'file','y');
-
-PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i80d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i160d0'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u80d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u160d0'+ArgSeparator+'u162',ClassFileName,'file','y');
-
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('d2d2d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d2d0g2'+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');
-PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i82d0'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i162d0'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82d0'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u162d0'+ArgSeparator+'u162',ClassFileName,'file','y');
+//PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'dec2bin';
+FunctionName = 'interp1';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
-//------------------------------------
-//---- Class DEC2BASE --------------------
-//------------------------------------
-ClassName = 'DEC2BASE';
+// --- Class Modk. ---
+// ------------------
+ClassName = 'Modk';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BASE(IN(1).VAL,IN(2).VAL),IN(1).SZ(2))',ClassFileName,'file','y');
-
-PrintStringInfo('NIN= 3',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''g''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
+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)= FA_MUL(IN(2).VAL,IN(1).SZ(2))',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+'g2',ClassFileName,'file','y');
-PrintStringInfo('d2d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('s0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('s2d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-
-PrintStringInfo('d0d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('d2d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('s0d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('s2d0d0'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+//PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
+
+//PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
+//PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
+//PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
+//PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'dec2base';
+FunctionName = 'modk';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class DEC2OCT --------------------
+//---- Class PRIMES --------------------
//------------------------------------
-ClassName = 'DEC2OCT';
+ClassName = 'PRIMES';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -7492,34 +9136,24 @@ 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)= FA_MUL(FA_SZ_DEC2OCT(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
-
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_PRIMES(IN(1).VAL)',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u162',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'dec2oct';
+FunctionName = 'primes';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-
//------------------------------------
-//---- Class DEC2HEX --------------------
+//---- Class GCD --------------------
//------------------------------------
-ClassName = 'DEC2HEX';
+ClassName = 'GCD';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -7528,35 +9162,26 @@ 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= ''g''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2HEX(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'g2',ClassFileName,'file','y');
-
-PrintStringInfo('d2'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'g2',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'dec2hex';
+FunctionName = 'gcd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class BIN2DEC --------------------
+//---- Class LCM --------------------
//------------------------------------
-ClassName = 'BIN2DEC';
+ClassName = 'LCM';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -7565,34 +9190,30 @@ 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= ''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');
+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');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'bin2dec';
+FunctionName = 'lcm';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+
+
//------------------------------------
-//---- Class OCT2DEC --------------------
+//---- Class FACTOR --------------------
//------------------------------------
-ClassName = 'OCT2DEC';
+ClassName = 'FACTOR';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -7601,33 +9222,27 @@ 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= ''d''',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');
+PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_FACTOR(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('i80'+ArgSeparator+'i80',ClassFileName,'file','y');
-PrintStringInfo('i160'+ArgSeparator+'i160',ClassFileName,'file','y');
-PrintStringInfo('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
+PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('i82'+ArgSeparator+'i82',ClassFileName,'file','y');
-PrintStringInfo('i162'+ArgSeparator+'i162',ClassFileName,'file','y');
-PrintStringInfo('u82'+ArgSeparator+'u82',ClassFileName,'file','y');
-PrintStringInfo('u162'+ArgSeparator+'u162',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'oct2dec';
+FunctionName = 'factor';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
//------------------------------------
-//---- Class HEX2DEC --------------------
+//---- Class GCD --------------------
//------------------------------------
-ClassName = 'HEX2DEC';
+ClassName = 'GCD';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
@@ -7636,325 +9251,372 @@ 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= ''d''',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');
-
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('g2'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('u82'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'hex2dec';
+FunctionName = 'gcd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class BASE2DEC --------------------
+//---- Class ZPBUTT --------------------
//------------------------------------
-ClassName = 'BASE2DEC';
+ClassName = 'ZPBUTT';
// --- 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= 2',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''z''',ClassFileName,'file','y');
PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).VAL',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('g2d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-//PrintStringInfo('g2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0d0'+ArgSeparator+'z2d0',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'base2dec';
+FunctionName = 'zpbutt';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Cosd. ---
-// ------------------
-ClassName = 'Cosd';
+//------------------------------------
+//---- Class ZPCH1 --------------------
+//------------------------------------
+ClassName = 'ZPCH1';
// --- 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');
-// --- Function List Class. ---
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''z''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).VAL',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''1''',ClassFileName,'file','y');
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('d0d0d0'+ArgSeparator+'z2d0',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'cosd';
+FunctionName = 'zpch1';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Cotd. ---
-// ------------------
-ClassName = 'Cotd';
+//------------------------------------
+//---- Class ZPCH2 --------------------
+//------------------------------------
+ClassName = 'ZPCH2';
// --- 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');
-// --- Function List Class. ---
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''z''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).VAL',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= ''z''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).VAL',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= ''1''',ClassFileName,'file','y');
+
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('d0d0d0'+ArgSeparator+'z2z2d0',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'cotd';
+FunctionName = 'zpch2';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Coth. ---
-// ------------------
-ClassName = 'Coth';
+//------------------------------------
+//---- Class BUTTMAG --------------------
+//------------------------------------
+ClassName = 'BUTTMAG';
// --- 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');
-// --- Function List Class. ---
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(3).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
+
+
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('d0d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80u80d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'coth';
+FunctionName = 'buttmag';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Csc. ---
-// ------------------
-ClassName = 'Csc';
+//------------------------------------
+//---- Class CHEB1MAG --------------------
+//------------------------------------
+ClassName = 'CHEB1MAG';
// --- 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');
-// --- Function List Class. ---
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(4).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(4).SZ(2)',ClassFileName,'file','y');
+
+
+
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0d0d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('u80u80d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'cheb1mag';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class CHEB2MAG --------------------
+//------------------------------------
+ClassName = 'CHEB2MAG';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+
+PrintStringInfo('NIN= 4',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(4).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(4).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');
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
+PrintStringInfo('d0d0d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+//PrintStringInfo('u80u80d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'csc';
+FunctionName = 'cheb2mag';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Cscd. ---
-// ------------------
-ClassName = 'Cscd';
+
+
+//------------------------------------
+//---- Class SINC --------------------
+//------------------------------------
+ClassName = 'SINC';
// --- 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('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');
-// --- Function List Class. ---
+
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
-
PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'cscd';
+FunctionName = 'sinc';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Csch. ---
-// ------------------
-ClassName = 'Csch';
+
+//------------------------------------
+//---- Class SINCD --------------------
+//------------------------------------
+ClassName = 'SINCD';
// --- 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('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
+PrintStringInfo('OUT(1).SZ(2)= FA_ADD(FA_MUL(''8'',IN(1).VAL),''1'')',ClassFileName,'file','y');
+
+
+
-// --- Function List Class. ---
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');
+PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('u80u80'+ArgSeparator+'d2',ClassFileName,'file','y');
+
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'csch';
+FunctionName = 'sincd';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// --- Class Sec. ---
-// ------------------
-ClassName = 'Sec';
+
+
+//------------------------------------
+//---- Class FSFIRLIN --------------------
+//------------------------------------
+ClassName = 'FSFIRLIN';
// --- 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('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
+PrintStringInfo('OUT(1).SZ(2)= FA_FSFIRLIN_SZ(IN(1).SZ(2))',ClassFileName,'file','y');
+
+
+
-// --- Function List Class. ---
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');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'sec';
+FunctionName = 'fsfirlin';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// ------------------
-// --- Class Secd. ---
-// ------------------
-ClassName = 'Secd';
+
+
+//------------------------------------
+//---- Class %K --------------------
+//------------------------------------
+ClassName = 'modk';
// --- 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('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
-FunctionName = 'secd';
+FunctionName = 'modk';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// --- Class Sech. ---
-// ------------------
-ClassName = 'Sech';
+//------------------------------------
+//---- Class FILT_SINC --------------------
+//------------------------------------
+ClassName = 'FILT_SINC';
// --- 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('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+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');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).VAL',ClassFileName,'file','y');
+
+
+
-// --- Function List Class. ---
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');
+PrintStringInfo('d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
-PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'sech';
+FunctionName = 'filt_sinc';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
@@ -7962,125 +9624,142 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
-//---- Class FACTORIAL --------------------
+//---- Class FFILT --------------------
//------------------------------------
-ClassName = 'FACTORIAL';
+ClassName = 'FFILT';
// --- 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('NIN= 4',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+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');
+PrintStringInfo('OUT(1).SZ(2)= IN(2).VAL',ClassFileName,'file','y');
+
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
+PrintStringInfo('g2d0d0d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+
-PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'factorial';
+FunctionName = 'ffilt';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-// --- Class Interp1. ---
-// ------------------
-ClassName = 'Interp1';
+
+//------------------------------------
+//---- Class %SN --------------------
+//------------------------------------
+ClassName = 'modsn';
// --- Class Annotation. ---
PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
-PrintStringInfo('NIN= 4',ClassFileName,'file','y');
-PrintStringInfo('NOUT= 1 ',ClassFileName,'file','y');
-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)= ''1''',ClassFileName,'file','y');
-// --- Function List Class. ---
+
+//PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+//PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).TP= FA_TP_MODSN(IN(1).TP)',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+//PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+//PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).TP= FA_TP_MODSN(IN(1).TP',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+//PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= FA_TP_MODSN(IN(1).TP)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_MODSN(IN(1).SZ(1))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_MODSN(IN(1).SZ(2))',ClassFileName,'file','y');
+
+
+
+
+
+
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d2d2d0g2'+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');
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('z0d0'+ArgSeparator+'z0',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('z2d0'+ArgSeparator+'z2',ClassFileName,'file','y');
-//PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
-//PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-//PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
-//PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'interp1';
+FunctionName = 'modsn';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
-//---- Class PRIMES --------------------
+//---- Class ELL1MAG --------------------
//------------------------------------
-ClassName = 'PRIMES';
+ClassName = 'ell1mag';
// --- 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('NIN= 3',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)= FA_SZ_PRIMES(IN(1).VAL)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(3).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(3).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(3).SZ(2)',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-
+PrintStringInfo('d0d0z2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('d0d0d2'+ArgSeparator+'d2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'primes';
+FunctionName = 'ell1mag';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
//------------------------------------
-//---- Class FACTOR --------------------
+//---- Class AMELL --------------------
//------------------------------------
-ClassName = 'FACTOR';
+ClassName = 'amell';
// --- 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('NIN= 2',ClassFileName,'file','y');
PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(2)= FA_MUL(FA_SZ_FACTOR(IN(1).VAL),IN(1).SZ(1))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_AMELL(IN(1).SZ(2))',ClassFileName,'file','y');
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
-PrintStringInfo('d0'+ArgSeparator+'d2',ClassFileName,'file','y');
-PrintStringInfo('s0'+ArgSeparator+'s2',ClassFileName,'file','y');
-
+PrintStringInfo('d0d0'+ArgSeparator+'d0',ClassFileName,'file','y');
+PrintStringInfo('d2d0'+ArgSeparator+'d2',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'factor';
+FunctionName = 'amell';
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/ToolInitialization/INIT_GenSharedInfo.sci b/macros/ToolInitialization/INIT_GenSharedInfo.sci
index abe813c..3c682bf 100644
--- a/macros/ToolInitialization/INIT_GenSharedInfo.sci
+++ b/macros/ToolInitialization/INIT_GenSharedInfo.sci
@@ -1,4 +1,4 @@
-function SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName,CopySciCodeIntoCCode,Target)
+function SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName,CopySciCodeIntoCCode,Target,Board_name)
// function SharedInfo = INIT_GenSharedInfo(WorkingDir,OutCCCodeDir,UserSciFilesPaths,...
// RunMode,UserScilabMainFile,TotTempScalarVars,EnableTempVarsReuse,Sci2CLibMainHeaderFName)
// -----------------------------------------------------------------
@@ -132,4 +132,6 @@ SharedInfo.Includelist = list(); //Maintains list of functions being used in cod
// to add their header files to main function.
SharedInfo.OpenCVUsed = %F; // Specifies if opencv library is used or not
+SharedInfo.Board_name = Board_name; //Specifies Name of Arduino board
+
endfunction
diff --git a/macros/ToolInitialization/INIT_SCI2C.sci b/macros/ToolInitialization/INIT_SCI2C.sci
index 8253302..b6da9bd 100644
--- a/macros/ToolInitialization/INIT_SCI2C.sci
+++ b/macros/ToolInitialization/INIT_SCI2C.sci
@@ -1,5 +1,5 @@
function [FileInfoDatFile,SharedInfoDatFile] = ...
- INIT_SCI2C(UserScilabMainFile, UserSciFilesPaths, SCI2COutputDir, RunMode,Target)
+ INIT_SCI2C(UserScilabMainFile, UserSciFilesPaths, SCI2COutputDir, RunMode,Target,Board_name)
// function [FileInfoDatFile,SharedInfoDatFile] = INIT_SCI2C(SCI2CInputPrmFile)
// -----------------------------------------------------------------
// #RNU_RES_B
@@ -68,7 +68,7 @@ OutCCCodeDir = SCI2CResultDir;
//-- FIXME : MainLibHeader and Verbose mode are (?) configurable
SharedInfo = INIT_GenSharedInfo(RunMode,UserScilabMainFile, ...
- TotTempScalarVars,EnableTempVarsReuse,"sci2clib.h", %t,Target);
+ TotTempScalarVars,EnableTempVarsReuse,"sci2clib.h", %t,Target,Board_name);
// ----------------------------
// --- Initialize FileInfo. ---
diff --git a/macros/ToolInitialization/ManageNextConversion.sci b/macros/ToolInitialization/ManageNextConversion.sci
index a152476..b0d4337 100644
--- a/macros/ToolInitialization/ManageNextConversion.sci
+++ b/macros/ToolInitialization/ManageNextConversion.sci
@@ -44,6 +44,8 @@ FlagContinueTranslation = 0;
// --- Finalize the current C code. ---
// ------------------------------------
C_FinalizeCode(FileInfo,SharedInfo);
+//PrintStringInfo(' hello',ReportFileName,'file','y');
+
// ------------------------------------------------
// --- Identify the next function to translate. ---
diff --git a/macros/ToolInitialization/lib b/macros/ToolInitialization/lib
index 45853ea..dbcbfcc 100644
Binary files a/macros/ToolInitialization/lib and b/macros/ToolInitialization/lib differ
diff --git a/macros/buildmacros.sce b/macros/buildmacros.sce
index f02096d..e78b15b 100644
--- a/macros/buildmacros.sce
+++ b/macros/buildmacros.sce
@@ -9,9 +9,9 @@ Directories = [ "ASTManagement", ...
"GeneralFunctions", ...
"SymbolTable", ...
"ToolInitialization", ...
- "Hardware/AVR", ...
- "Hardware/RasberryPi", ...
- "ImageProcessing", ...
+ "Hardware/AVR", ...
+ "Hardware/RasberryPi", ...
+ "ImageProcessing", ...
"Scilab-Arduino"];
diff --git a/macros/cb_sci2c_gui.sci b/macros/cb_sci2c_gui.sci
index 8f3f92a..2267c6c 100644
--- a/macros/cb_sci2c_gui.sci
+++ b/macros/cb_sci2c_gui.sci
@@ -64,8 +64,13 @@ elseif or(get(gcbo, "tag")==["outformatradiostalone","outformatradioarduino","ou
set(findobj("tag", "outformatradioavr"), "value", 0);
set(findobj("tag", "outformatradiorpi"), "value", 0);
set(gcbo, "value", 1);
-
-
+ if get(findobj("tag", "outformatradioarduino"), "value") == 1 then
+ set(findobj("tag", "brdnmType"), "enable", "on");
+ else
+ set(findobj("tag", "brdnmType"), "enable", "off");
+ end
+ //disp("YES")
+ //disp(get(findobj("tag", "brdnmType"), "value"))
//
// --- Copy Scilab code into C option ---
//
@@ -98,7 +103,7 @@ elseif get(gcbo, "tag")=="cancelbtn" | get(gcbo, "tag")=="close_menu" then
elseif get(gcbo, "tag")=="convertbtn" then
UserScilabMainFile = get(findobj("tag", "fileedit"), "string");
- UserSciFilesPaths = get(findobj("tag", "subfunsedit"), "string");
+ UserSciFilesPaths = get(findobj("tag", "subfunsedit"), "string");
// Sci2CLibMainHeaderFName = get(findobj("tag", "headeredit"), "string");
@@ -121,6 +126,66 @@ elseif get(gcbo, "tag")=="convertbtn" then
elseif get(findobj("tag", "outformatradiorpi"), "value") == 1 then
Target = "RPi";
end
+ if get(findobj("tag", "brdnmType"), "value") == 2 then
+ Board_name = "uno"
+ elseif get(findobj("tag", "brdnmType"), "value") == 3 then
+ Board_name = "mega"
+ elseif get(findobj("tag", "brdnmType"), "value") == 4 then
+ Board_name = "mega2560"
+ elseif get(findobj("tag", "brdnmType"), "value") == 5 then
+ Board_name = "nano"
+ elseif get(findobj("tag", "brdnmType"), "value") == 6 then
+ Board_name = "nano328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 7 then
+ Board_name = "micro"
+ elseif get(findobj("tag", "brdnmType"), "value") == 8 then
+ Board_name = "mini"
+ elseif get(findobj("tag", "brdnmType"), "value") == 9 then
+ Board_name = "mini328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 10 then
+ Board_name = "pro328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 11 then
+ Board_name = "pro"
+ elseif get(findobj("tag", "brdnmType"), "value") == 12 then
+ Board_name = "pro5v328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 13 then
+ Board_name = "pro5v"
+ elseif get(findobj("tag", "brdnmType"), "value") == 14 then
+ Board_name = "atmega168"
+ elseif get(findobj("tag", "brdnmType"), "value") == 15 then
+ Board_name = "atmega8"
+ elseif get(findobj("tag", "brdnmType"), "value") == 16 then
+ Board_name = "atmega328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 17 then
+ Board_name = "bt328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 18 then
+ Board_name = "bt"
+ elseif get(findobj("tag", "brdnmType"), "value") == 19 then
+ Board_name = "diecimila"
+ elseif get(findobj("tag", "brdnmType"), "value") == 20 then
+ Board_name = "esplora"
+ elseif get(findobj("tag", "brdnmType"), "value") == 21 then
+ Board_name = "ethernet"
+ elseif get(findobj("tag", "brdnmType"), "value") == 22 then
+ Board_name = "fio"
+ elseif get(findobj("tag", "brdnmType"), "value") == 23 then
+ Board_name = "leonardo"
+ elseif get(findobj("tag", "brdnmType"), "value") == 24 then
+ Board_name = "robotControl"
+ elseif get(findobj("tag", "brdnmType"), "value") == 25 then
+ Board_name = "robotMotor"
+ elseif get(findobj("tag", "brdnmType"), "value") == 26 then
+ Board_name = "lilypad328"
+ elseif get(findobj("tag", "brdnmType"), "value") == 27 then
+ Board_name = "lilypad"
+ elseif get(findobj("tag", "brdnmType"), "value") == 28 then
+ Board_name = "lilyPadUSB"
+ else
+ Board_name = "uno"
+
+ //elseif get(findobj("tag", "brdnmType"), "value") == [1 0 0 0 0 0] then
+ //Board_name = "none"
+ end
CopySciCodeIntoCCode = get(findobj("tag", "sciintocradioyes"), "value") == 1;
@@ -132,15 +197,16 @@ elseif get(gcbo, "tag")=="convertbtn" then
// CCompilerPathStyle = "cygwin";
end
+
// -*- DEBUG ONLY -*-
-
-// mprintf("UserScilabMainFile = {%s}\n", UserScilabMainFile);
-// mprintf("UserSciFilesPaths = {%s}\n", UserSciFilesPaths);
-// mprintf("UserSciCodeMainDir = {%s}\n", UserSciCodeMainDir);
-// mprintf("RunMode = {%s}\n", RunMode);
-// mprintf("CopySciCodeIntoCCode = {%d}\n", bool2s(CopySciCodeIntoCCode));
-// mprintf("NativeBuild = {%s}\n", NativeBuild);
- scilab2c(UserScilabMainFile, UserSciCodeMainDir, UserSciFilesPaths, RunMode, NativeBuild,Target);
+
+ //mprintf("UserScilabMainFile = {%s}\n", UserScilabMainFile);
+ //mprintf("UserSciFilesPaths = {%s}\n", UserSciFilesPaths);
+ //mprintf("UserSciCodeMainDir = {%s}\n", UserSciCodeMainDir);
+ //mprintf("RunMode = {%s}\n", RunMode);
+ //mprintf("CopySciCodeIntoCCode = {%d}\n", bool2s(CopySciCodeIntoCCode));
+ //mprintf("NativeBuild = {%s}\n", NativeBuild);
+ scilab2c(UserScilabMainFile, UserSciCodeMainDir, UserSciFilesPaths, RunMode, NativeBuild,Target,Board_name);
//
// --- sci2c help ---
//
diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci
index 45f7553..0435976 100644
--- a/macros/findDeps/getAllHeaders.sci
+++ b/macros/findDeps/getAllHeaders.sci
@@ -60,7 +60,7 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/matrixOperations/includes/logm.h"
"src/c/matrixOperations/includes/ones.h"
"src/c/matrixOperations/includes/matrixSquaredMagnitude.h"
- "src/c/linearAlgebra/includes/spec.h" // moved from matrixOperation to linearAlgebra
+ "src/c/linearAlgebra/includes/spec.h"
"src/c/matrixOperations/includes/matrixTranspose.h"
"src/c/matrixOperations/includes/determ.h"
"src/c/matrixOperations/includes/matrixMultiplication.h"
@@ -72,6 +72,10 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/matrixOperations/includes/kron.h"
"src/c/matrixOperations/includes/flipdim.h"
"src/c/matrixOperations/includes/norm.h"
+ "src/c/interpolation/includes/interp1.h"
+ "src/c/elementaryFunctions/includes/nextpow2.h"
+ "src/c/elementaryFunctions/includes/gcd.h"
+ "src/c/elementaryFunctions/includes/isreal.h"
"src/c/elementaryFunctions/includes/cos.h"
"src/c/elementaryFunctions/includes/fix.h"
"src/c/elementaryFunctions/includes/exp.h"
@@ -111,6 +115,8 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/int8.h"
"src/c/elementaryFunctions/includes/uint16.h"
"src/c/elementaryFunctions/includes/int16.h"
+ "src/c/elementaryFunctions/includes/uint32.h"
+ "src/c/elementaryFunctions/includes/int32.h"
"src/c/elementaryFunctions/includes/acosd.h"
"src/c/elementaryFunctions/includes/acot.h"
"src/c/elementaryFunctions/includes/acotd.h"
@@ -140,6 +146,9 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/string/includes/dynlib_string.h"
"src/c/string/includes/disp.h"
"src/c/string/includes/str.h"
+ "src/c/signalProcessing/includes/modk.h"
+ "src/c/signalProcessing/includes/idct.h"
+ "src/c/signalProcessing/includes/dct.h"
"src/c/signalProcessing/fft/fft_internal.h"
"src/c/signalProcessing/ifft/ifft_internal.h"
"src/c/signalProcessing/levin/levinUtils.h"
@@ -154,6 +163,20 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/signalProcessing/includes/lpc2cep.h"
"src/c/signalProcessing/includes/dynlib_signalprocessing.h"
"src/c/signalProcessing/includes/crossCorr.h"
+ "src/c/signalProcessing/includes/zpbutt.h"
+ "src/c/signalProcessing/includes/zpch1.h"
+ "src/c/signalProcessing/includes/zpch2.h"
+ "src/c/signalProcessing/includes/buttmag.h"
+ "src/c/signalProcessing/includes/cheb1mag.h"
+ "src/c/signalProcessing/includes/cheb2mag.h"
+ "src/c/signalProcessing/includes/sincd.h"
+ "src/c/signalProcessing/includes/fsfirlin.h"
+ "src/c/signalProcessing/includes/modk.h"
+ "src/c/signalProcessing/includes/filt_sinc.h"
+ "src/c/signalProcessing/includes/ffilt.h"
+ "src/c/signalProcessing/includes/modsn.h"
+ "src/c/signalProcessing/includes/ell1mag.h"
+ "src/c/signalProcessing/includes/amell.h"
"src/c/implicitList/dynlib_implicitlist.h"
"src/c/implicitList/implicitList.h"
"src/c/differential_calculus/includes/ode.h"
@@ -164,6 +187,11 @@ function allHeaders = getAllHeaders(SharedInfo)
//"src/c/string/includes/strcmp.h"
"src/c/string/includes/strrev.h"
"src/c/string/includes/strrchr.h"
+ "src/c/string/includes/strchr.h"
+ "src/c/string/includes/ascii.h"
+ "src/c/string/includes/strspn.h"
+ "src/c/string/includes/strcspn.h"
+ "src/c/string/includes/strncpy.h"
"src/c/elementaryFunctions/includes/dec2bin.h"
"src/c/elementaryFunctions/includes/dec2hex.h"
"src/c/elementaryFunctions/includes/dec2oct.h"
@@ -185,24 +213,22 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/elementaryFunctions/includes/factorial.h"
"src/c/elementaryFunctions/includes/primes.h"
"src/c/elementaryFunctions/includes/factor.h"
+ "src/c/elementaryFunctions/includes/gcd.h"
+ "src/c/elementaryFunctions/includes/lcm.h"
+ "src/c/elementaryFunctions/includes/sinc.h"
"src/c/CACSD/includes/syslin.h"
"src/c/CACSD/includes/lqr.h"
"src/c/CACSD/includes/lqe.h"
"src/c/CACSD/includes/obscont.h"
+ "src/c/linearAlgebra/includes/sva.h"
+ "src/c/linearAlgebra/includes/svd.h"
"src/c/linearAlgebra/includes/schur.h"
"src/c/linearAlgebra/includes/balanc.h"
"src/c/linearAlgebra/includes/svd.h"
- "src/c/linearAlgebra/includes/hess.h"
- "src/c/linearAlgebra/includes/sva.h"
- "src/c/linearAlgebra/includes/sqroot.h"
- "src/c/linearAlgebra/includes/givens.h"
- "src/c/linearAlgebra/includes/householder.h"
- "src/c/linearAlgebra/includes/fullrf.h"
- "src/c/linearAlgebra/includes/rowcomp.h"
- "src/c/linearAlgebra/includes/rcond.h"
- "src/c/linearAlgebra/includes/qr.h"
-];
-
+ "src/c/linearAlgebra/includes/hess.h"
+ "src/c/linearAlgebra/includes/sva.h"
+ "src/c/linearAlgebra/includes/rcond.h"];
+
//Header files required for "Arduino" output
Arduino_headers = [
@@ -215,7 +241,15 @@ function allHeaders = getAllHeaders(SharedInfo)
//"src/c/scilab-arduino/includes/cmd_servo_attach.h"
//"src/c/scilab-arduino/includes/cmd_servo_detach.h"
//"src/c/scilab-arduino/includes/cmd_servo_move.h"
- "src/c/scilab-arduino/includes/sleep.h"];
+ "src/c/scilab-arduino/includes/sleep.h"
+ "src/c/scilab-arduino/includes/cmd_analog_in_volt.h"
+ "src/c/scilab-arduino/includes/cmd_analog_out_volt.h"
+ "src/c/scilab-arduino/includes/cmd_dcmotor_release.h"
+ "src/c/scilab-arduino/includes/cmd_i2c_dev.h"
+ "src/c/scilab-arduino/includes/cmd_i2c_write.h"
+ "src/c/scilab-arduino/includes/cmd_i2c_read.h"
+ "src/c/scilab-arduino/includes/cmd_i2c_read_register.h"
+ "src/c/scilab-arduino/includes/cmd_i2c_write_register.h"];
AVR_headers = [
"src/c/hardware/avr/includes/AVRPeripheralGPIO.h"
@@ -224,18 +258,47 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/hardware/avr/includes/AVRUtil.h"
"src/c/hardware/avr/includes/AVRPeripheralTimer.h"
"src/c/hardware/avr/includes/AVRPeripheralUART.h"
- ];
-
+ ];
+
RPi_headers = [
"thirdparty/includes/WiringPi/wiringPi.h"
"thirdparty/includes/WiringPi/wiringSerial.h"
+ "thirdparty/includes/WiringPi/gertboard.h"
+ "thirdparty/includes/WiringPi/lcd.h"
+ "thirdparty/includes/WiringPi/lcd128x64.h"
+ "thirdparty/includes/WiringPi/mcp23s08.h"
+ "thirdparty/includes/WiringPi/mcp23s17.h"
+ "thirdparty/includes/WiringPi/mcp23008.h"
+ "thirdparty/includes/WiringPi/mcp23016.h"
+ "thirdparty/includes/WiringPi/mcp23017.h"
+ "thirdparty/includes/WiringPi/pcf8574.h"
+ "thirdparty/includes/WiringPi/pcf8591.h"
+ "thirdparty/includes/WiringPi/piGlow.h"
+ "thirdparty/includes/WiringPi/sn3218.h"
+ "thirdparty/includes/WiringPi/sr595.h"
+ "thirdparty/includes/WiringPi/softPwm.h"
+ "thirdparty/includes/WiringPi/softTone.h"
+ "thirdparty/includes/WiringPi/wiringPiI2C.h"
+ "thirdparty/includes/WiringPi/wiringShift.h"
+ "thirdparty/includes/WiringPi/RPI_wfi.h"
"src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h"
- "src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h"
- "src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h"
- "src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h"
- "src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h"
"src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h"
- ];
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h"
+ "src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h"
+ ];
OpenCV_headers = [
"src/c/imageProcessing/includes/cvcore.hpp"
@@ -257,4 +320,9 @@ function allHeaders = getAllHeaders(SharedInfo)
allHeaders = cat(1,allHeaders,OpenCV_headers);
end
+ if(size(SharedInfo.Includelist) <> 0 & (mtlb_strcmp(part(SharedInfo.Includelist(1),1:5),'odefn') == %T))
+ disp("Hi")
+ allHeaders = cat(1,allHeaders,"thirdparty/includes/GSL");
+ end
+
endfunction
diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci
index 300f8ad..e629779 100644
--- a/macros/findDeps/getAllInterfaces.sci
+++ b/macros/findDeps/getAllInterfaces.sci
@@ -61,6 +61,10 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/matrixOperations/interfaces/int_flipdim.h"
"src/c/matrixOperations/interfaces/int_permute.h"
"src/c/matrixOperations/interfaces/int_norm.h"
+ "src/c/interpolation/interfaces/int_interp1.h"
+ "src/c/elementaryFunctions/interfaces/int_nextpow2.h"
+ "src/c/elementaryFunctions/interfaces/int_gcd.h"
+ "src/c/elementaryFunctions/interfaces/int_isreal.h"
"src/c/elementaryFunctions/interfaces/int_asinh.h"
"src/c/elementaryFunctions/interfaces/int_atanh.h"
"src/c/elementaryFunctions/interfaces/int_sinh.h"
@@ -90,16 +94,18 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_bitand.h"
"src/c/elementaryFunctions/interfaces/int_bitor.h"
"src/c/elementaryFunctions/interfaces/int_bitxor.h"
- "src/c/elementaryFunctions/interfaces/int_bitcmp.h"
- "src/c/elementaryFunctions/interfaces/int_bitset.h"
- "src/c/elementaryFunctions/interfaces/int_bitget.h"
+ "src/c/elementaryFunctions/interfaces/int_bitcmp.h"
+ "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_logspace.h"
+ "src/c/elementaryFunctions/interfaces/int_logspace.h"
"src/c/elementaryFunctions/interfaces/int_cosh.h"
"src/c/elementaryFunctions/interfaces/int_uint8.h"
"src/c/elementaryFunctions/interfaces/int_int8.h"
"src/c/elementaryFunctions/interfaces/int_uint16.h"
"src/c/elementaryFunctions/interfaces/int_int16.h"
+ "src/c/elementaryFunctions/interfaces/int_uint32.h"
+ "src/c/elementaryFunctions/interfaces/int_int32.h"
"src/c/elementaryFunctions/interfaces/int_acosd.h"
"src/c/elementaryFunctions/interfaces/int_acot.h"
"src/c/elementaryFunctions/interfaces/int_acotd.h"
@@ -112,6 +118,8 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_asech.h"
"src/c/elementaryFunctions/interfaces/int_asind.h"
"src/c/elementaryFunctions/interfaces/int_atand.h"
+ "src/c/elementaryFunctions/interfaces/int_gcd.h"
+ "src/c/elementaryFunctions/interfaces/int_lcm.h"
"src/c/statisticsFunctions/interfaces/int_mean.h"
"src/c/statisticsFunctions/interfaces/int_meanf.h"
"src/c/statisticsFunctions/interfaces/int_stdevf.h"
@@ -140,6 +148,9 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/operations/interfaces/int_OpIns.h"
"src/c/string/interfaces/int_disp.h"
"src/c/string/interfaces/int_string.h"
+ "src/c/signalProcessing/interfaces/int_modk.h"
+ "src/c/signalProcessing/interfaces/int_idct.h"
+ "src/c/signalProcessing/interfaces/int_dct.h"
"src/c/signalProcessing/interfaces/int_ifft.h"
"src/c/signalProcessing/interfaces/int_lpc2cep.h"
"src/c/signalProcessing/interfaces/int_cepstrum.h"
@@ -150,6 +161,20 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/signalProcessing/interfaces/int_fftshift.h"
"src/c/signalProcessing/interfaces/int_fft.h"
"src/c/signalProcessing/interfaces/int_lev.h"
+ "src/c/signalProcessing/interfaces/int_zpbutt.h"
+ "src/c/signalProcessing/interfaces/int_zpch1.h"
+ "src/c/signalProcessing/interfaces/int_zpch2.h"
+ "src/c/signalProcessing/interfaces/int_buttmag.h"
+ "src/c/signalProcessing/interfaces/int_cheb1mag.h"
+ "src/c/signalProcessing/interfaces/int_cheb2mag.h"
+ "src/c/signalProcessing/interfaces/int_sincd.h"
+ "src/c/signalProcessing/interfaces/int_fsfirlin.h"
+ "src/c/signalProcessing/interfaces/int_modk.h"
+ "src/c/signalProcessing/interfaces/int_filt_sinc.h"
+ "src/c/signalProcessing/interfaces/int_ffilt.h"
+ "src/c/signalProcessing/interfaces/int_modsn.h"
+ "src/c/signalProcessing/interfaces/int_ell1mag.h"
+ "src/c/signalProcessing/interfaces/int_amell.h"
"src/c/implicitList/int_OpColon.h"
"src/c/differential_calculus/interfaces/int_ode.h"
"src/c/differential_calculus/interfaces/int_diffc.h"
@@ -159,6 +184,11 @@ function allInterfaces = getAllInterfaces(SharedInfo)
//"src/c/string/interfaces/int_strcmp.h"
"src/c/string/interfaces/int_strrev.h"
"src/c/string/interfaces/int_strrchr.h"
+ "src/c/string/interfaces/int_strchr.h"
+ "src/c/string/interfaces/int_ascii.h"
+ "src/c/string/interfaces/int_strspn.h"
+ "src/c/string/interfaces/int_strcspn.h"
+ "src/c/string/interfaces/int_strncpy.h"
"src/c/elementaryFunctions/interfaces/int_dec2base.h"
"src/c/elementaryFunctions/interfaces/int_base2dec.h"
"src/c/elementaryFunctions/interfaces/int_dec2bin.h"
@@ -180,21 +210,18 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/elementaryFunctions/interfaces/int_factorial.h"
"src/c/elementaryFunctions/interfaces/int_primes.h"
"src/c/elementaryFunctions/interfaces/int_factor.h"
+ "src/c/elementaryFunctions/interfaces/int_sinc.h"
"src/c/CACSD/interfaces/int_syslin.h"
"src/c/CACSD/interfaces/int_lqr.h"
"src/c/CACSD/interfaces/int_lqe.h"
"src/c/CACSD/interfaces/int_obscont.h"
+ "src/c/linearAlgebra/interfaces/int_sva.h"
+ "src/c/linearAlgebra/interfaces/int_svd.h"
"src/c/linearAlgebra/interfaces/int_schur.h"
"src/c/linearAlgebra/interfaces/int_balanc.h"
"src/c/linearAlgebra/interfaces/int_svd.h"
- "src/c/linearAlgebra/interfaces/int_sqroot.h"
"src/c/linearAlgebra/interfaces/int_hess.h"
- "src/c/linearAlgebra/interfaces/int_sva.h"
- "src/c/linearAlgebra/interfaces/int_givens.h"
- "src/c/linearAlgebra/interfaces/int_householder.h"
- "src/c/linearAlgebra/interfaces/int_fullrf.h"
- "src/c/linearAlgebra/interfaces/int_rowcomp.h"
- "src/c/linearAlgebra/interfaces/int_qr.h";
+ "src/c/linearAlgebra/interfaces/int_sva.h"
"src/c/linearAlgebra/interfaces/int_rcond.h"];
@@ -206,7 +233,14 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/scilab-arduino/interfaces/int_cmd_analog_in.h"
"src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h"
"src/c/scilab-arduino/interfaces/int_cmd_servo.h"
- "src/c/scilab-arduino/interfaces/int_sleep.h"];
+ "src/c/scilab-arduino/interfaces/int_sleep.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h"
+ "src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h"];
//Interface files required for "AVR" output
AVR_interfaces = [
@@ -220,12 +254,23 @@ function allInterfaces = getAllInterfaces(SharedInfo)
RPI_interfaces = [
"src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h"
- "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h"
- "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h"
- "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h"
- "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h"
"src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h"
- ];
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h"
+ "src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h"
+ ];
OpenCV_interfaces = [
"src/c/imageProcessing/interfaces/int_cvcore.hpp"
diff --git a/macros/findDeps/getAllLibraries.sci b/macros/findDeps/getAllLibraries.sci
index 14fc020..9d74bbf 100644
--- a/macros/findDeps/getAllLibraries.sci
+++ b/macros/findDeps/getAllLibraries.sci
@@ -24,7 +24,9 @@ function allLibraries = getAllLibraries(SharedInfo)
Target = SharedInfo.Target;
//Library files required for "RasberryPi" target
RPi_libs = [
- "thirdparty/lib/raspberrypi/libwiringPi.so"
+ "thirdparty/lib/raspberrypi/libRPIwfi.a"
+ "thirdparty/lib/raspberrypi/libwiringPi.a"
+ "thirdparty/lib/raspberrypi/libwiringPiDev.a"
"thirdparty/lib/raspberrypi/libcblas.a"
"thirdparty/lib/raspberrypi/librefblas.a"
"thirdparty/lib/raspberrypi/liblapack.a"
diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci
index ef32ce1..0891aef 100644
--- a/macros/findDeps/getAllSources.sci
+++ b/macros/findDeps/getAllSources.sci
@@ -334,6 +334,9 @@ function allSources = getAllSources(SharedInfo)
"src/c/matrixOperations/kron/skrona.c"
"src/c/matrixOperations/norm/dnormv.c"
"src/c/matrixOperations/norm/dnorma.c"
+ "src/c/elementaryFunctions/nextpow2/dnextpow2a.c"
+ "src/c/elementaryFunctions/isreal/sisreals.c"
+ "src/c/elementaryFunctions/isreal/disreals.c"
"src/c/elementaryFunctions/cos/dcosa.c"
"src/c/elementaryFunctions/cos/dcoss.c"
"src/c/elementaryFunctions/cos/scosa.c"
@@ -620,16 +623,6 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/round/i16rounds.c"
"src/c/elementaryFunctions/lnp1m1/slnp1m1s.c"
"src/c/elementaryFunctions/lnp1m1/dlnp1m1s.c"
- "src/c/elementaryFunctions/uint8/duint8s.c"
- "src/c/elementaryFunctions/uint8/duint8a.c"
- "src/c/elementaryFunctions/uint8/suint8s.c"
- "src/c/elementaryFunctions/uint8/suint8a.c"
- "src/c/elementaryFunctions/uint8/i8uint8s.c"
- "src/c/elementaryFunctions/uint8/i8uint8a.c"
- "src/c/elementaryFunctions/uint8/u16uint8s.c"
- "src/c/elementaryFunctions/uint8/u16uint8a.c"
- "src/c/elementaryFunctions/uint8/i16uint8s.c"
- "src/c/elementaryFunctions/uint8/i16uint8a.c"
"src/c/elementaryFunctions/float/dfloats.c"
"src/c/elementaryFunctions/float/dfloata.c"
@@ -644,7 +637,16 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/float/i16floats.c"
"src/c/elementaryFunctions/float/i16floata.c"
-
+ "src/c/elementaryFunctions/uint8/duint8s.c"
+ "src/c/elementaryFunctions/uint8/duint8a.c"
+ "src/c/elementaryFunctions/uint8/suint8s.c"
+ "src/c/elementaryFunctions/uint8/suint8a.c"
+ "src/c/elementaryFunctions/uint8/i8uint8s.c"
+ "src/c/elementaryFunctions/uint8/i8uint8a.c"
+ "src/c/elementaryFunctions/uint8/u16uint8s.c"
+ "src/c/elementaryFunctions/uint8/u16uint8a.c"
+ "src/c/elementaryFunctions/uint8/i16uint8s.c"
+ "src/c/elementaryFunctions/uint8/i16uint8a.c"
"src/c/elementaryFunctions/int8/dint8s.c"
"src/c/elementaryFunctions/int8/dint8a.c"
"src/c/elementaryFunctions/int8/sint8s.c"
@@ -675,6 +677,35 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/int16/i8int16a.c"
"src/c/elementaryFunctions/int16/u16int16s.c"
"src/c/elementaryFunctions/int16/u16int16a.c"
+ "src/c/elementaryFunctions/uint32/duint32s.c"
+ "src/c/elementaryFunctions/uint32/duint32a.c"
+ "src/c/elementaryFunctions/uint32/suint32s.c"
+ "src/c/elementaryFunctions/uint32/suint32a.c"
+ "src/c/elementaryFunctions/uint32/u8uint32s.c"
+ "src/c/elementaryFunctions/uint32/u8uint32a.c"
+ "src/c/elementaryFunctions/uint32/i8uint32s.c"
+ "src/c/elementaryFunctions/uint32/i8uint32a.c"
+ "src/c/elementaryFunctions/uint32/i16uint32s.c"
+ "src/c/elementaryFunctions/uint32/i16uint32a.c"
+ "src/c/elementaryFunctions/uint32/u16uint32s.c"
+ "src/c/elementaryFunctions/uint32/u16uint32a.c"
+ "src/c/elementaryFunctions/uint32/i32uint32s.c"
+ "src/c/elementaryFunctions/uint32/i32uint32a.c"
+ "src/c/elementaryFunctions/int32/dint32s.c"
+ "src/c/elementaryFunctions/int32/dint32a.c"
+ "src/c/elementaryFunctions/int32/sint32s.c"
+ "src/c/elementaryFunctions/int32/sint32a.c"
+ "src/c/elementaryFunctions/int32/u8int32s.c"
+ "src/c/elementaryFunctions/int32/u8int32a.c"
+ "src/c/elementaryFunctions/int32/i8int32s.c"
+ "src/c/elementaryFunctions/int32/i8int32a.c"
+ "src/c/elementaryFunctions/int32/u16int32s.c"
+ "src/c/elementaryFunctions/int32/u16int32a.c"
+ "src/c/elementaryFunctions/int32/i16int32s.c"
+ "src/c/elementaryFunctions/int32/i16int32a.c"
+ "src/c/elementaryFunctions/int32/u32int32s.c"
+ "src/c/elementaryFunctions/int32/u32int32a.c"
+
"src/c/elementaryFunctions/bitand/u8bitands.c"
"src/c/elementaryFunctions/bitand/u8bitanda.c"
"src/c/elementaryFunctions/bitand/u16bitands.c"
@@ -695,6 +726,8 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/bitset/u16bitsets.c"
"src/c/elementaryFunctions/bitget/u8bitgets.c"
"src/c/elementaryFunctions/bitget/u16bitgets.c"
+ "src/c/elementaryFunctions/linspace/slinspacea.c"
+ "src/c/elementaryFunctions/linspace/slinspaces.c"
"src/c/elementaryFunctions/linspace/dlinspaces.c"
"src/c/elementaryFunctions/linspace/dlinspacea.c"
"src/c/elementaryFunctions/logspace/dlogspaces.c"
@@ -759,6 +792,8 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/atand/datands.c"
"src/c/elementaryFunctions/atand/satanda.c"
"src/c/elementaryFunctions/atand/satands.c"
+ "src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c"
+ "src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c"
"src/c/statisticsFunctions/max/dmaxa.c"
"src/c/statisticsFunctions/max/smaxa.c"
"src/c/statisticsFunctions/max/srowmaxa.c"
@@ -964,6 +999,15 @@ function allSources = getAllSources(SharedInfo)
"src/c/string/string/u16strings.c"
"src/c/string/string/i16stringa.c"
"src/c/string/string/i16strings.c"
+ "src/c/signalProcessing/modk/dmodka.c"
+ "src/c/signalProcessing/transforms/idct/sidcta.c"
+ "src/c/signalProcessing/transforms/idct/cidcta.c"
+ "src/c/signalProcessing/transforms/idct/zidcta.c"
+ "src/c/signalProcessing/transforms/idct/didcta.c"
+ "src/c/signalProcessing/transforms/dct/sdcta.c"
+ "src/c/signalProcessing/transforms/dct/cdcta.c"
+ "src/c/signalProcessing/transforms/dct/zdcta.c"
+ "src/c/signalProcessing/transforms/dct/ddcta.c"
"src/c/signalProcessing/fft/dfft2.c"
"src/c/signalProcessing/fft/cfftma.c"
"src/c/signalProcessing/fft/r2tx.c"
@@ -1029,6 +1073,26 @@ function allSources = getAllSources(SharedInfo)
"src/c/signalProcessing/hilbert/shilberts.c"
"src/c/signalProcessing/hilbert/dhilberta.c"
"src/c/signalProcessing/hilbert/dhilberts.c"
+ "src/c/signalProcessing/zpbutt/dzpbutts.c"
+ "src/c/signalProcessing/zpch1/dzpch1s.c"
+ "src/c/signalProcessing/zpch2/dzpch2s.c"
+ "src/c/signalProcessing/buttmag/dbuttmags.c"
+ "src/c/signalProcessing/cheb1mag/dcheb1mags.c"
+ "src/c/signalProcessing/cheb2mag/dcheb2mags.c"
+ "src/c/signalProcessing/sincd/dsincds.c"
+ "src/c/signalProcessing/sincd/u8sincds.c"
+ "src/c/signalProcessing/fsfirlin/dfsfirlina.c"
+ "src/c/signalProcessing/%k/dmodka.c"
+ "src/c/signalProcessing/filt_sinc/dfilt_sincs.c"
+ "src/c/signalProcessing/ffilt/gffilts.c"
+ "src/c/signalProcessing/%sn/dmodsns.c"
+ "src/c/signalProcessing/%sn/zmodsns.c"
+ "src/c/signalProcessing/%sn/dmodsna.c"
+ "src/c/signalProcessing/%sn/zmodsna.c"
+ "src/c/signalProcessing/ell1mag/zell1maga.c"
+ "src/c/signalProcessing/ell1mag/dell1maga.c"
+ "src/c/signalProcessing/amell/damells.c"
+ "src/c/signalProcessing/amell/damella.c"
"src/c/implicitList/zimplicitLists.c"
"src/c/implicitList/dimplicitLists.c"
"src/c/implicitList/cimplicitLists.c"
@@ -1057,6 +1121,12 @@ function allSources = getAllSources(SharedInfo)
//"src/c/string/strcmp/gstrcmps.c"
"src/c/string/strrev/gstrreva.c"
"src/c/string/strrchr/gstrrchra.c"
+ "src/c/string/strchr/gstrchra.c"
+ "src/c/string/ascii/gasciia.c"
+ "src/c/string/ascii/dasciia.c"
+ "src/c/string/strspn/gstrspna.c"
+ "src/c/string/strcspn/gstrcspna.c"
+ "src/c/string/strncpy/gstrncpya.c"
"src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bins.c"
"src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bins.c"
"src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bins.c"
@@ -1175,6 +1245,12 @@ function allSources = getAllSources(SharedInfo)
"src/c/elementaryFunctions/Trigonometry/sech/zsechs.c"
"src/c/elementaryFunctions/Trigonometry/sech/csecha.c"
"src/c/elementaryFunctions/Trigonometry/sech/csechs.c"
+ "src/c/interpolation/interp1/sinterp13a.c"
+ "src/c/interpolation/interp1/dinterp13a.c"
+ "src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c"
+ "src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c"
+ "src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c"
+ "src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c"
"src/c/elementaryFunctions/discrete_mathematics/factorial/dfactorials.c"
"src/c/elementaryFunctions/discrete_mathematics/factorial/dfactoriala.c"
"src/c/elementaryFunctions/discrete_mathematics/factorial/sfactorials.c"
@@ -1187,20 +1263,16 @@ function allSources = getAllSources(SharedInfo)
"src/c/CACSD/lqr/dlqra.c"
"src/c/CACSD/lqe/dlqea.c"
"src/c/CACSD/obscont/dobsconta.c"
+ "src/c/linearAlgebra/sva/dsvaa.c"
+ "src/c/linearAlgebra/svd/dsvda.c"
"src/c/linearAlgebra/schur/dschura.c"
"src/c/linearAlgebra/schur/dgschura.c"
"src/c/linearAlgebra/balanc/dbalanca.c"
"src/c/linearAlgebra/svd/dsvda.c"
"src/c/linearAlgebra/svd/zsvda.c"
- "src/c/linearAlgebra/sqroot/dsqroota.c"
"src/c/linearAlgebra/hess/dhessa.c"
- "src/c/linearAlgebra/givens/dgivensa.c"
- "src/c/linearAlgebra/householder/dhouseholdera.c"
"src/c/linearAlgebra/sva/dsvaa.c"
"src/c/linearAlgebra/spec/dspec1a.c"
- "src/c/linearAlgebra/fullrf/dfullrfa.c"
- "src/c/linearAlgebra/rowcomp/drowcompa.c"
- "src/c/linearAlgebra/qr/dqra.c"
"src/c/linearAlgebra/rcond/drconda.c"];
//Files to be inserted only if output format selected is 'Arduino'.
@@ -1213,7 +1285,15 @@ function allSources = getAllSources(SharedInfo)
//"src/c/scilab-arduino/cmd_servo_attach/u8cmd_servo_attach.cpp"
//"src/c/scilab-arduino/cmd_servo_detach/u8cmd_servo_detach.cpp"
//"src/c/scilab-arduino/cmd_servo_move/u8cmd_servo_move.cpp"
- "src/c/scilab-arduino/sleep/u16sleeps.c"];
+ "src/c/scilab-arduino/sleep/u16sleeps.c"
+ "src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c"
+ "src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c"
+ "src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c"
+ "src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp"
+ "src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp"
+ "src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp"
+ "src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp"
+ "src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp"];
//Files to be inserted only if output format selected is 'AVR'.
AVR_files = [
@@ -1251,38 +1331,93 @@ function allSources = getAllSources(SharedInfo)
];
RPI_files = [
- "src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c"
- "src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c"
- "src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c"
- "src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c"
- "src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c"
- "src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c"
- "src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c"
- "src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c"
- "src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c"
- "src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c"
- "src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c"
- "src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c"
- "src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c"
- "src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c"
- "src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c"
- "src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c"
- "src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c"
- "src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c"
- "src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c"
- "src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c"
- "src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c"
+ "/src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.c"
+ "/src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.c"
+ "/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.c"
+ "/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.c"
+ "/src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c"
+ "/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c"
+ "/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c"
+ "/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.c"
+ "/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c"
+ "/src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c"
+ "/src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64circle.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64clear.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64line.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64Orientation.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64point.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64putchar.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64puts.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c"
+ "/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setup.c"
+ "/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c"
+ "/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c"
+ "/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c"
+ "/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c"
+ "/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c"
+ "/src/c/hardware/rasberrypi/Misc/RPI_boardRev.c"
+ "/src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c"
+ "/src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c"
+ "/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c"
+ "/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c"
+ "/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c"
+ "/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c"
+ "/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c"
+ "/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c"
+ "/src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c"
+ "/src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c"
+ "/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c"
+ "/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c"
+ "/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c"
+ "/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c"
+ "/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c"
+ "/src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.c"
+ "/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.c"
+ "/src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c"
+ "/src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c"
+ "/src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c"
+ "/src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c"
+ "/src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.c"
+ "/src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c"
+ "/src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c"
+ "/src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c"
+ "/src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c"
+ "/src/c/hardware/rasberrypi/Timing/RPI_micros.c"
+ "/src/c/hardware/rasberrypi/Timing/RPI_millis.c"
+ "/src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c"
+ "/src/c/hardware/rasberrypi/Timing/u32RPI_delays.c"
];
OpenCV_files = [
diff --git a/macros/findDeps/getArduinoFiles.sci b/macros/findDeps/getArduinoFiles.sci
index aae8e50..9726457 100644
--- a/macros/findDeps/getArduinoFiles.sci
+++ b/macros/findDeps/getArduinoFiles.sci
@@ -23,6 +23,5 @@ function arduinoFiles = getArduinoFiles()
arduinoFiles = [
"src/c/scilab-arduino/default_files/setup_arduino.h"
- "src/c/scilab-arduino/default_files/Makefile"
"src/c/scilab-arduino/default_files/sci2c_arduino.ino"];
endfunction
diff --git a/macros/findDeps/lib b/macros/findDeps/lib
index acee5b0..f3b117d 100644
Binary files a/macros/findDeps/lib and b/macros/findDeps/lib differ
diff --git a/macros/lib b/macros/lib
index 1917c3f..8bbdc40 100644
Binary files a/macros/lib and b/macros/lib differ
diff --git a/macros/runsci2c.sci b/macros/runsci2c.sci
index eb32a4b..2fc66be 100644
--- a/macros/runsci2c.sci
+++ b/macros/runsci2c.sci
@@ -1,4 +1,4 @@
-function runsci2c(UserScilabMainFile, UserSciFilesPaths, SCI2COutputPath, Runmode, BuildTool,Target)
+function runsci2c(UserScilabMainFile, UserSciFilesPaths, SCI2COutputPath, Runmode, BuildTool,Target,Board_name)
// function runsci2c(SCI2CInputPrmFile)
// -----------------------------------------------------------------
// === hArtes/PoliBa/GAP SCI2C tool ===
@@ -51,12 +51,12 @@ disp(RunSci2CMainDir);
// --- Initialize the SCI2C tool directories and files. ---
[FileInfoDatFile,SharedInfoDatFile] = INIT_SCI2C(UserScilabMainFile, ...
- UserSciFilesPaths, SCI2COutputPath, RunMode, Target);
+ UserSciFilesPaths, SCI2COutputPath, RunMode, Target,Board_name);
+
// -- Load FileInfo and SharedInfo
load(SharedInfoDatFile,'SharedInfo');
load(FileInfoDatFile,'FileInfo');
-
RunMode = SharedInfo.RunMode;
// --- Generation of the library structure. ---
@@ -91,7 +91,6 @@ load(SharedInfoDatFile,'SharedInfo');
// ---------------------------
global SCI2CHOME
-
allSources = SCI2CHOME + "/" + getAllSources(SharedInfo);
allHeaders = SCI2CHOME + "/" +getAllHeaders(SharedInfo);
allInterfaces = SCI2CHOME + "/" + getAllInterfaces(SharedInfo);
@@ -177,6 +176,8 @@ if (Target == 'Arduino')
//disp("Copying "+arduinoFiles(i)+" in "+SCI2COutputPath+"/arduino/sci2carduino");
copyfile(arduinoFiles(i), SCI2COutputPath+"/arduino/sci2c_arduino/");
end
+ C_GenerateMkfle_arduino(FileInfo,SharedInfo);
+ movefile(FileInfo.MakefileFilename, SCI2COutputPath+"/arduino/sci2c_arduino/");
elseif (Target == 'AVR')
AVRFile = SCI2CHOME + "/" + "src/c/hardware/avr/default_files/Makefile";
copyfile(AVRFile, SCI2COutputPath);
diff --git a/macros/sci2c_gui.sci b/macros/sci2c_gui.sci
index 6dbd462..bee6fe4 100644
--- a/macros/sci2c_gui.sci
+++ b/macros/sci2c_gui.sci
@@ -38,7 +38,7 @@ uimenu("parent", h, "label", gettext("Sci2c help page"), "callback", "cb_sci2c_g
uimenu("parent", h, "label", gettext("About SCI2C tools..."), "callback", "cb_sci2c_gui", "tag", "about_sci2c_menu");
figw = 800;
-figh = 15*margin + btnh + 9*widgeth;
+figh = 16*margin + btnh + 10*widgeth;
sci2cfig.axes_size = [figw figh];
sci2cfig.auto_resize = "on";
//sci2cfig.visible = "off"; // to be sure that no plot can appear in the window
@@ -79,7 +79,7 @@ optframe = uicontrol("parent", sci2cfig,...
"relief", "groove",...
"style", "frame",...
"units", "pixels",...
- "position", [margin 2*margin+btnh figw-2*margin 4*margin+6*widgeth],...
+ "position", [margin 2*margin+btnh figw-2*margin 7*margin+6*widgeth],...
"fontname", defaultfont,...
"fontunits", "points",...
"fontsize", 12,...
@@ -90,7 +90,7 @@ opttitle = uicontrol("parent", sci2cfig,...
"style", "text",...
"string", gettext("Options"),...
"units", "pixels",...
- "position", [2*margin 2*margin+btnh+4*margin+6*widgeth-8 50 18],...
+ "position", [2*margin 5*margin+btnh+4*margin+6*widgeth-8 50 18],...
"fontname", defaultfont,...
"fontunits", "points",...
"fontsize", 11,...
@@ -175,6 +175,33 @@ sciintocradiono = uicontrol("parent", sci2cfig,...
"callback", "cb_sci2c_gui",...
"tag", "sciintocradiono");
+// --- Board Name ----
+brdnmy = sciintocy + margin + btnh ;
+brdnmlabel = uicontrol("parent", sci2cfig,...
+ "style", "text",...
+ "string", gettext("Board Name: "),...
+ "position",[2*margin brdnmy widgetLabelWidth widgeth],...
+ "horizontalalignment", "left",...
+ "fontname", defaultfont,...
+ "fontunits", "points",...
+ "fontsize", 12);
+
+brdnmType = uicontrol("parent", sci2cfig,...
+ "style", "popupmenu",...
+ "string", ["";"Uno";"Mega-ATmega1280";"Mega-2560 or Mega ADK";"Nano - ATmega168";"Nano - ATmega328";"Micro";"Mini - Atmega168";"Mini - Atmega328";"Pro Mini (3.3V, 8MHz) - ATmega328";"Pro Mini (3.3V, 8MHz) - ATmega168";"Pro Mini (5V, 16MHz) - ATmega328";"Pro Mini (5V, 16MHz) - ATmega168";"NG or older - ATmega168";"NG or older - ATmega8";"Duemilanove - ATmega328";"BT - ATmega328";"BT - ATmega 168";"Diecimila/Duemilanove - ATmega168";"Esplora";"Ethernet";"Fio";"Leonardo";"Robot Control";"Robot Motor";"LilyPad Arduino - ATmega328";"LilyPad Arduino - ATmega168";"LilyPad Arduino USB"],...
+ "position",[2*margin+widgetLabelWidth brdnmy 3*radiow widgeth],...
+ "horizontalalignment", "left",...
+ "fontname", defaultfont,...
+ "enable", "off",...
+ "fontunits", "points",...
+ "fontsize", 12,...
+ "min", 0, ...
+ "max", 1, ...
+ "value", [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0],...
+ "callback", "cb_sci2c_gui",...
+ "tag", "brdnmType");
+
+sciintocy = brdnmy
// --- Output format: Standalone or Arduino
outformaty = sciintocy + margin + btnh ;
outformatlabel = uicontrol("parent", sci2cfig,...
@@ -240,7 +267,8 @@ outformatradiorpi = uicontrol("parent", sci2cfig,...
"max", 1, ...
"value", 0,...
"callback", "cb_sci2c_gui",...
- "tag", "outformatradiorpi");
+ "tag", "outformatradiorpi");
+
// --- Run mode option ---
runy = outformaty + margin + widgeth;
@@ -296,7 +324,7 @@ runradiogenlib = uicontrol("parent", sci2cfig,...
// --- Output directory ---
// ------------------------
// Frame
-optframemaxy = 2*margin+btnh + 4*margin+6*widgeth;
+optframemaxy = 5*margin+btnh + 4*margin+6*widgeth;
outframe = uicontrol("parent", sci2cfig,...
"relief", "groove",...
"style", "frame",...
diff --git a/macros/scilab2c.sci b/macros/scilab2c.sci
index 41494ea..197c88b 100644
--- a/macros/scilab2c.sci
+++ b/macros/scilab2c.sci
@@ -12,6 +12,7 @@
function scilab2c(varargin)
[lhs, rhs] = argn();
+
select rhs
//
// scilab2c()
@@ -35,6 +36,7 @@ function scilab2c(varargin)
RunMode = 'All';
BuildTool = getNativeBuildTool();
Target = "StandAlone"
+ //Board_name = "uno"
//
// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths)
//
@@ -55,6 +57,7 @@ function scilab2c(varargin)
RunMode = "All";
BuildTool = getNativeBuildTool();
Target = "StandAlone"
+ //Board_name = "uno"
//
// scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths, RunMode)
//
@@ -79,6 +82,7 @@ function scilab2c(varargin)
RunMode = varargin(4);
BuildTool = getNativeBuildTool();
Target = "StandAlone"
+ //Board_name = "uno"
case 5
for i = 1:4
if typeof(varargin(i)) <> "string"
@@ -104,6 +108,7 @@ function scilab2c(varargin)
RunMode = varargin(4);
BuildTool = varargin(5);
Target = "StandAlone"
+ //Board_name = "uno"
case 6
for i = 1:4
if typeof(varargin(i)) <> "string"
@@ -133,6 +138,41 @@ function scilab2c(varargin)
RunMode = varargin(4);
BuildTool = varargin(5);
Target = varargin(6);
+ //Board_name = "uno";
+ case 7
+ for i = 1:4
+ if typeof(varargin(i)) <> "string"
+ error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i));
+ return
+ end
+ end
+ if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" & varargin(4) <> "FunCall"
+ error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" ,""GenLibraryStructure"" or ""FunCall"".\n"),"scilab2c",4));
+ return
+ end
+ if varargin(5) <> "make" & varargin(5) <> "nmake"
+ error(msprintf(gettext("%s: argument #%d must be: ""make"" or ""nmake"".\n"),"scilab2c",5));
+ return
+ end
+ if varargin(6) <> "StandAlone" & varargin(6) <> "Arduino" & varargin(6) <> "AVR" & varargin(6) <> "RPi"
+ error(msprintf(gettext("%s: argument #%d must be: ""StandAlone"" or ""Arduino"" or ""AVR"" or ""RPi"".\n"),"scilab2c",5));
+ return
+ end
+ //if varargin(7) <> "uno" & varargin(7) <> "mega" & varargin(7) <> "mega2560" & varargin(7) <> "micro" & varargin(7) <> "nano" & varargin(7) <> "mini"
+ // error(msprintf(gettext("%s: argument #%d must be: ""uno"" or ""mega"" or ""micro"" or ""nano"" or ""mini"".\n"),"scilab2c",7));
+ //return
+ //end
+ UserScilabMainFile = varargin(1);
+ CCodeOutputDir = varargin(2);
+ if varargin(3) == ""
+ UserSciFilesPaths = [];
+ else
+ UserSciFilesPaths = varargin(3);
+ end
+ RunMode = varargin(4);
+ BuildTool = varargin(5);
+ Target = varargin(6);
+ Board_name = varargin(7);
else
//
// Calling scilab2c with more than understood values
@@ -158,8 +198,9 @@ error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),
userchoice = 1;
end
if (userchoice == 1)
+
// --- LAUNCH SCI2C ---
- runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool,Target);
+ runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool,Target,Board_name);
end
endfunction
diff --git a/src/c/CACSD/includes/lqr.h b/src/c/CACSD/includes/lqr.h
index 062d6e4..5b20ee8 100644
--- a/src/c/CACSD/includes/lqr.h
+++ b/src/c/CACSD/includes/lqr.h
@@ -17,7 +17,7 @@
extern "C" {
#endif
-void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K);
+void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, double* S, double* X, double* K);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/CACSD/interfaces/int_lqr.h b/src/c/CACSD/interfaces/int_lqr.h
index e6f534f..8deba90 100644
--- a/src/c/CACSD/interfaces/int_lqr.h
+++ b/src/c/CACSD/interfaces/int_lqr.h
@@ -16,7 +16,14 @@
extern "C" {
#endif
-#define ss2lqrd2d2(in1,size1,out1,out2) dlqra(in1,size1[0],size1[1],out1,out2);
+#define ss2lqrd2d2(in1,size1,out1,out2) dlqra(in1,size1[0],size1[1],NULL,\
+ NULL,NULL,out1,out2);
+
+#define ss2d2d2lqrd2d2(in1,size1,in2,size2,in3,size3,out1,out2) dlqra(in1,\
+ size1[0],size1[1],in2,in3,NULL,out1,out2);
+
+#define ss2d2d2d2lqrd2d2(in1,size1,in2,size2,in3,size3,in4,size4,out1,out2) \
+ dlqra(in1,size1[0],size1[1],in2,in3,in4,out1,out2);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/CACSD/lqe/dlqea.c b/src/c/CACSD/lqe/dlqea.c
index 63f8d62..e0be5b3 100644
--- a/src/c/CACSD/lqe/dlqea.c
+++ b/src/c/CACSD/lqe/dlqea.c
@@ -54,7 +54,7 @@ void dlqea(double* sys, int sys_rows, int sys_cols, double* X, double* K)
/*Calculate LQR gain*/
K_lqr = (double*) malloc(no_of_ip*no_of_st*sizeof(double));
- dlqra(sys_lqr,sys_lqr_rows,sys_lqr_cols,X,K_lqr);
+ dlqra(sys_lqr,sys_lqr_rows,sys_lqr_cols,NULL,NULL,NULL,X,K_lqr);
dtransposea(K_lqr,sys_rows - no_of_st,no_of_st,K);
}
\ No newline at end of file
diff --git a/src/c/CACSD/lqr/dlqra.c b/src/c/CACSD/lqr/dlqra.c
index 02ac150..1440c3a 100644
--- a/src/c/CACSD/lqr/dlqra.c
+++ b/src/c/CACSD/lqr/dlqra.c
@@ -22,7 +22,8 @@
#include "schur.h"
#include "matrixDivision.h"
-void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
+void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
+ double* S, double* K, double* X)
{
int no_of_states, no_of_inputs, no_of_outputs, dom = 1;
int row,col;
@@ -32,7 +33,7 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
double *A, *B, *C, *D;
double *B_t, *C_t, *D_t;
- double *Q, *R, *S;
+ //double *Q, *R, *S;
double *Ri, *LA, *LE;
double *BRi, *StRi, *S_t;
double *buf1, *buf2, *buf3, *buf4, *buf5, *buf6;
@@ -90,20 +91,29 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
dom = (int)sys[(sys_rows*(sys_cols-2)) + no_of_states];
- Q = (double*) malloc (no_of_states*no_of_states*sizeof(double));
- R = (double*) malloc (no_of_inputs*no_of_inputs*sizeof(double));
- S = (double*) malloc (no_of_inputs*no_of_states*sizeof(double));
-
dtransposea(B,no_of_states,no_of_inputs,B_t);
dtransposea(C,no_of_outputs,no_of_states,C_t);
dtransposea(D,no_of_outputs,no_of_inputs,D_t);
- dmulma(C_t,no_of_states,no_of_outputs,C,no_of_outputs,no_of_states,Q);
- dmulma(D_t,no_of_inputs,no_of_outputs,D,no_of_outputs,no_of_inputs,R);
- dmulma(D_t,no_of_inputs,no_of_outputs,C,no_of_outputs,no_of_states,S);
+ if(Q == NULL)
+ {/*If Q is not provided*/
+ Q = (double*) malloc (no_of_states*no_of_states*sizeof(double));
+ dmulma(C_t,no_of_states,no_of_outputs,C,no_of_outputs,no_of_states,Q);
+ }
+
+ if(R == NULL)
+ {/*If R is not provided*/
+ R = (double*) malloc (no_of_inputs*no_of_inputs*sizeof(double));
+ dmulma(D_t,no_of_inputs,no_of_outputs,D,no_of_outputs,no_of_inputs,R);
+ }
- /*Free up unwanted variables*/
+ if(S == NULL)
+ {/*If Q is not provided*/
+ S = (double*) malloc (no_of_inputs*no_of_states*sizeof(double));
+ dmulma(D_t,no_of_inputs,no_of_outputs,C,no_of_outputs,no_of_states,S);
+ }
+ /*Free up unwanted variables*/
free(C);
free(C_t);
free(D);
@@ -177,8 +187,8 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
/*Freeup umwanted variables*/
free(A);
- free(Q);
- free(R);
+ //free(Q);
+ //free(R);
free(BRi);
free(S_t);
free(StRi);
@@ -278,7 +288,7 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
}
- free(Q);
+ //free(Q);
free(BRi);
free(S_t);
free(StRi);
@@ -316,7 +326,7 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
/*inv(B'XB+R)*/
dmulma(B_t,no_of_inputs,no_of_states,X,no_of_states,no_of_states,buf3);
- dmulma(buf3,no_of_inputs,no_of_states,B_t,no_of_states,no_of_inputs,buf6);
+ dmulma(buf3,no_of_inputs,no_of_states,B,no_of_states,no_of_inputs,buf6);
dadda(buf6,no_of_inputs*no_of_inputs,R,no_of_inputs*no_of_inputs,buf5);
dinverma(buf5,buf6,no_of_inputs);
/*B'XA+S*/
@@ -333,14 +343,14 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
free(A);
free(B);
- free(R);
+ //free(R);
free(buf5);
free(buf6);
}
free(B_t);
- free(S);
+ //free(S);
free(wsmall);
free(X12);
free(phi12);
diff --git a/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c b/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c
new file mode 100644
index 0000000..0cd24e9
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c
@@ -0,0 +1,46 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include
+#include
+#include "sinc.h"
+#define PI 3.14159265358979
+void dsinca(double* sample,int size,double* oup)
+{
+ int j;
+ for(j=0;j
+#include
+#include "sinc.h"
+#include "sin.h"
+#include "doubleComplex.h"
+#include "division.h"
+void zsinca(doubleComplex* sample,int size,doubleComplex* oup)
+{
+ int j;
+ double r,i;
+ for(j=0;jb)
+ {
+ a=a-b;
+ }
+ else
+ {
+ b=b-a;
+ }
+ }
+ out[0]=b;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c
new file mode 100644
index 0000000..121d26a
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include
+/* This is the "gcd" function , which takes two input. first
+ one is the array and the second one is the length of the array.
+ Now to calculate the gcd of two elements we fin the maximum of
+ the two elements, and then iterate from maximum value down to 1,
+ and check whether the particular value divides the two elements.
+ And in this way we can calculate the gcd of the whole array.
+*/
+#include "gcd.h"
+uint8 u8gcdua(uint8* in,int size)
+{
+
+ int temp;
+ if(size==1)
+ {
+ temp=*in;
+ }
+ else
+ {
+ int x=*in;
+ int y=*(in+1);
+ int max=(x>y)?x:y;
+ int i;
+ for(i=max;i>=1;i--)
+ {
+ if(x%i==0 && y%i==0)
+ {
+ temp=i;
+ break;
+ }
+ }
+ int j;
+ for(j=2;jy)?x:y;
+ for(i=max;i>=1;i--)
+ {
+ if(x%i==0 && y%i==0)
+ {
+ temp=i;
+ break;
+ }
+ }
+ }
+}
+
+ return temp;
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c
new file mode 100644
index 0000000..75f831f
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c
@@ -0,0 +1,32 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "gcd.h"
+#include "types.h"
+
+int8 u8gcds(int8 *in,int size)
+{
+ int a=in[0];
+ int b=in[1];
+ while(a!=b && a!=0 && b!=0)
+ {
+ if(a>b)
+ {
+ a=a-b;
+ }
+ else
+ {
+ b=b-a;
+ }
+ }
+ return b;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c b/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c
new file mode 100644
index 0000000..b01c804
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c
@@ -0,0 +1,69 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include
+/* This is the "lcm" function, accepting two inputs which are the array of integers
+ and second the size of the array. The algorithm works like this:
+ We take a temproary variable and store the lcm of the first two elements of the
+ array in it. Now using this temproary variable we recursively fin the lcm of
+ the whole array.
+ Now to fin the lcm of two elements we fin the maximum of the two elements and
+ check whether it is divisible by both the elements, if the condition is true we
+ get the lcm, else increase the maximum value by itself unless we get the lcm.
+*/
+#include "lcm.h"
+uint8 u8lcma(uint8* in,int size)
+{
+ long long int lcm_temp;
+ if(size==1)
+ {
+ lcm_temp=*in;
+ }
+ else
+ {
+
+ int x1=*in;
+ int x2=*(in+1);
+ long long int max=(x1>x2)?x1:x2;
+ long long int i=max;
+ while(1)
+ {
+ if(i%x1==0 && i%x2==0)
+ {
+ lcm_temp=i;
+ break;
+ }
+ else
+ i+=max;
+ }
+ int j;
+ for(j=2;jx2)?x1:x2;
+ i=max;
+ while(1)
+ {
+ if(i%x1==0 && i%x2==0)
+ {
+ lcm_temp=i;
+ break;
+ }
+ else
+ i+=max;
+ }
+ }
+
+ }
+ return lcm_temp;
+}
+
diff --git a/src/c/elementaryFunctions/includes/gcd.h b/src/c/elementaryFunctions/includes/gcd.h
new file mode 100644
index 0000000..179eea0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/gcd.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __GCD_H__
+#define __GCD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+
+uint8 u8gcda(uint8* in,int size);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__GCD_H__*/
diff --git a/src/c/elementaryFunctions/includes/int32.h b/src/c/elementaryFunctions/includes/int32.h
new file mode 100644
index 0000000..26b7bcb
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT32_H__
+#define __INT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int32(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT int32 sint32s(float in);
+
+EXTERN_ELEMFUNCT int32 dint32s(double in);
+
+EXTERN_ELEMFUNCT int32 u8int32s(uint8 in);
+
+EXTERN_ELEMFUNCT int32 i8int32s(int8 in);
+
+EXTERN_ELEMFUNCT int32 u16int32s(uint16 in);
+
+EXTERN_ELEMFUNCT int32 i16int32s(int16 in);
+
+EXTERN_ELEMFUNCT int32 u32int32s(uint32 in);
+
+EXTERN_ELEMFUNCT void sint32a(float* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void dint32a(double* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u8int32a(uint8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i8int32a(int8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u16int32a(uint16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i16int32a(int16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u32int32a(uint32* in, int size, int32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT32_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/isreal.h b/src/c/elementaryFunctions/includes/isreal.h
new file mode 100644
index 0000000..0183ebc
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isreal.h
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-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 __ISREAL_H__
+#define __ISREAL_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+float sisreals(float a);
+
+double disreals(double a);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/lcm.h b/src/c/elementaryFunctions/includes/lcm.h
new file mode 100644
index 0000000..3a3e66f
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/lcm.h
@@ -0,0 +1,27 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __LCM_H__
+#define __LCM_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 u8lcma(uint8* in,int size);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LCM_H__*/
+
diff --git a/src/c/elementaryFunctions/includes/linspace.h b/src/c/elementaryFunctions/includes/linspace.h
index 92fe10e..62d4501 100644
--- a/src/c/elementaryFunctions/includes/linspace.h
+++ b/src/c/elementaryFunctions/includes/linspace.h
@@ -21,8 +21,11 @@ extern "C" {
EXTERN_ELEMFUNCT void dlinspaces(double low_limit,double up_limit,double range_num, double* out);
+EXTERN_ELEMFUNCT void slinspaces(float low_limit,float up_limit,float range_num, float* out);
+
EXTERN_ELEMFUNCT void dlinspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+EXTERN_ELEMFUNCT void slinspacea(float *low_limit,int row,float *up_limit,float range_num, float* out);
diff --git a/src/c/elementaryFunctions/includes/nextpow2.h b/src/c/elementaryFunctions/includes/nextpow2.h
new file mode 100644
index 0000000..c86bea0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nextpow2.h
@@ -0,0 +1,28 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NEXTPOW2_H__
+#define __NEXTPOW2_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnextpow2a(double *in,int size,double *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
+
diff --git a/src/c/elementaryFunctions/includes/sec.h b/src/c/elementaryFunctions/includes/sec.h
index 9606158..a04c5f7 100644
--- a/src/c/elementaryFunctions/includes/sec.h
+++ b/src/c/elementaryFunctions/includes/sec.h
@@ -14,7 +14,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
-#include
+//#include
#include "types.h"
#ifdef __cplusplus
diff --git a/src/c/elementaryFunctions/includes/sinc.h b/src/c/elementaryFunctions/includes/sinc.h
new file mode 100644
index 0000000..8bc98d2
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sinc.h
@@ -0,0 +1,29 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINC_H__
+#define __SINC_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsinca(double* sample,int size,double* oup);
+void zsinca(doubleComplex* sample,int size,doubleComplex* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINC_H__ */
diff --git a/src/c/elementaryFunctions/includes/uint32.h b/src/c/elementaryFunctions/includes/uint32.h
new file mode 100644
index 0000000..b90247b
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT32_H__
+#define __UINT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint32(X) returns the unsigned int part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint32 suint32s(float in);
+
+EXTERN_ELEMFUNCT uint32 duint32s(double in);
+
+EXTERN_ELEMFUNCT uint32 u8uint32s(uint8 in);
+
+EXTERN_ELEMFUNCT uint32 i8uint32s(int8 in);
+
+EXTERN_ELEMFUNCT uint32 u16uint32s(uint16 in);
+
+EXTERN_ELEMFUNCT uint32 i16uint32s(int16 in);
+
+EXTERN_ELEMFUNCT uint32 i32uint32s(int32 in);
+
+EXTERN_ELEMFUNCT void suint32a(float* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void duint32a(double* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u8uint32a(uint8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i8uint32a(int8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u16uint32a(uint16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i16uint32a(int16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i32uint32a(int32* in, int size, uint32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT32_H__ */
+
diff --git a/src/c/elementaryFunctions/int32/dint32a.c b/src/c/elementaryFunctions/int32/dint32a.c
new file mode 100644
index 0000000..f8b4b66
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/dint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void dint32a(double* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i
+#include "linspace.h"
+
+void slinspacea(float *low_limit,int _row,float *up_limit,float range_num,float *out)
+{
+ int i,j,k;
+ float temp;
+ float *step_iterate; /* for each row the spacing between two values is different.*/
+ step_iterate = (float*) malloc((float)_row*sizeof(float));
+ for(i=0;i<_row;i++)
+ {
+
+ step_iterate[i] = (up_limit[i]-low_limit[i])/(range_num-1);
+
+ }
+ for(j=0;j < _row;j++)
+ {
+ out[j] = low_limit[j]; /* For every row first element is the first value of low_limit array*/
+ temp = low_limit[j];
+ for(k=1;k < (float)range_num;k++ )
+ {
+ out[(_row*k)+j] = temp + step_iterate[j]; /* Output matrix positions for 3 X 5 matrix are [0 3 6 9 12;1 4 7 10 13;2 5 8 11 14] so (_row*k)+j) used*/
+ temp = out[(_row*k)+j];
+ if(k == (float)range_num-1 )
+ {
+ out[(_row*k)+j] = (float)up_limit[j]; /* Last value of output is equal to first value of up_limit array*/
+ }
+
+ }
+
+
+ }
+
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/linspace/slinspaces.c b/src/c/elementaryFunctions/linspace/slinspaces.c
new file mode 100644
index 0000000..2404f4d
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/slinspaces.c
@@ -0,0 +1,33 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "linspace.h"
+void slinspaces(float low_limit,float up_limit,float range_num,float *out)
+{
+ int j;
+ float temp = low_limit;
+ float step_iterate = (up_limit-low_limit)/(range_num-1);
+ out[0] = low_limit; /*First value of output is equal to low_limit value*/
+ for(j=1; j<(float)range_num; j++)
+ {
+ out[j] = temp + step_iterate;
+ temp = out[j];
+ if(j == (float)range_num-1 )
+ {
+ out[j] = (float)up_limit; /* Last value of output is equal to up_limit value*/
+ }
+ }
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/nextpow2/dnextpow2a.c b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c
new file mode 100644
index 0000000..46f7eb8
--- /dev/null
+++ b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c
@@ -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
+ Organization: FOSSEE, IIT Bombay
+ Author: Ukasha Noor
+ Email: toolbox@scilab.in
+*/
+
+#include "nextpow2.h"
+#include
+
+void dnextpow2a(double *in,int size,double *out)
+{
+ int i,j,s;
+ double k;
+ i=2;
+ for(s=0;sk);
+ out[s]=j;
+ }
+}
diff --git a/src/c/elementaryFunctions/uint32/duint32a.c b/src/c/elementaryFunctions/uint32/duint32a.c
new file mode 100644
index 0000000..7cd0ea3
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/duint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void duint32a(double* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i
+#include
+#include
+
+int8 u8RPI_waitForInterrupts(uint8 pin,int16 time){
+ __RPI_wfi=0;
+ if (wiringPiISR(pin,3,&RPI_wfi)<0){
+ return -1;
+ }
+ if (time==-1){
+ while (__RPI_wfi==0){;}
+ return 1;
+ }
+ else{
+ struct timeval time1,time2;
+ int nDigits;
+ double t1,t2;
+ gettimeofday(&time1, NULL);
+ nDigits=floor(log10(abs(time1.tv_usec)))+1;
+ t1=time1.tv_sec+time1.tv_usec/nDigits;
+ t2=t1;
+ while (__RPI_wfi==0 && t2-t1
+#include "types.h"
+#include "RPIPeripheralSetup.h"
+
+void u8RPI_pinModes(uint8 pin,char* mode,int size){
+ if (mode[0]=='i'){
+ pinMode(pin,INPUT);
+ }
+ else if (mode[0]=='o'){
+ pinMode(pin,OUTPUT);
+ }
+ else if (mode[0]=='p'){
+ pinMode(pin,PWM_OUTPUT);
+ }
+ else if (mode[0]=='c'){
+ pinMode(pin,GPIO_CLOCK);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.c b/src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.c
new file mode 100644
index 0000000..4e95aac
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSetup.h"
+
+void u8RPI_pullControls(uint8 pin,char* mode,int size){
+ if (mode[0]=='d'){
+ pullUpDnControl(pin,1);
+ }
+ else if (mode[0]=='u'){
+ pullUpDnControl(pin,2);
+ }
+ else if (mode[0]=='o'){
+ pullUpDnControl(pin,0);
+ }
+}
diff --git a/src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c b/src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c
new file mode 100644
index 0000000..3f0a649
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c
@@ -0,0 +1,20 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralShift.h"
+
+int8 u16RPI_sr595Setups(uint16 pinBase,uint8 nPins,uint8 dP,uint8 cP,uint8 lP)
+{
+ int8 out;
+ out=sr595Setup(pinBase,nPins,dP,cP,lP);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c b/src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c
new file mode 100644
index 0000000..6a264b6
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralShift.h"
+
+uint8 u8RPI_shiftIns(uint8 dpin,uint8 cpin,uint8 order){
+ uint8 out;
+ out=shiftIn(dpin,cpin,order);
+ return out;
+}
diff --git a/src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c b/src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c
new file mode 100644
index 0000000..5d24c2b
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralShift.h"
+
+void u8RPI_shiftOuts(uint8 dpin,uint8 cpin,uint8 order,uint8 val){
+ shiftOut(dpin,cpin,order,val);
+}
diff --git a/src/c/hardware/rasberrypi/Timing/RPI_micros.c b/src/c/hardware/rasberrypi/Timing/RPI_micros.c
new file mode 100644
index 0000000..a7a8450
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Timing/RPI_micros.c
@@ -0,0 +1,21 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralTiming.h"
+
+/* Function to get time in microsecond since first setup function called */
+
+uint32 RPI_micros(){
+ uint32 out;
+ out=micros();
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Timing/RPI_millis.c b/src/c/hardware/rasberrypi/Timing/RPI_millis.c
new file mode 100644
index 0000000..b383f2a
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Timing/RPI_millis.c
@@ -0,0 +1,21 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralTiming.h"
+
+/* Function to get time in millisecond since first setup function called */
+
+uint32 RPI_millis(){
+ uint32 out;
+ out=millis();
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c b/src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c
new file mode 100644
index 0000000..1ffdda7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c
@@ -0,0 +1,19 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralTiming.h"
+
+/* Function to insert some delay in code execution. */
+
+void u32RPI_delayMicros(uint32 time){
+ delayMicroseconds(time);
+}
diff --git a/src/c/hardware/rasberrypi/Timing/u32RPI_delays.c b/src/c/hardware/rasberrypi/Timing/u32RPI_delays.c
new file mode 100644
index 0000000..7802d6b
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Timing/u32RPI_delays.c
@@ -0,0 +1,19 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralTiming.h"
+
+/* Function to insert some delay in code execution. */
+
+void u32RPI_delays(uint32 time){
+ delay(time);
+}
diff --git a/src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c b/src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c
new file mode 100644
index 0000000..5724ebb
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralGertboard.h"
+
+int8 RPI_gertboardSPISetup(){
+ int8 out;
+ out=gertboardSPISetup();
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c
new file mode 100644
index 0000000..433bed2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralGertboard.h"
+
+uint16 u16RPI_gertboardAnalogReads(uint16 pin){
+ uint16 out;
+ out=gertboardAnalogRead(pin);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c
new file mode 100644
index 0000000..a19aa6d
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralGertboard.h"
+
+int8 u16RPI_gertboardAnalogSetups(uint16 pinBase){
+ int8 out;
+ out=gertboardAnalogSetup(pinBase);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c
new file mode 100644
index 0000000..2c8aa33
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralGertboard.h"
+
+void u16RPI_gertboardAnalogWrites(uint16 pin,uint16 value){
+ gertboardAnalogWrite(pin,value);
+}
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
deleted file mode 100644
index 7b84350..0000000
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to read the state of the gpio pin */
-
-#include "types.h"
-#include "RPIPeripheralDigital.h"
-
-/*pin is reduced by one as array index starts from 0 and pin no starts from 1*/
-uint8 u8RPIDigitalIns(uint8 pin)
-{
- uint8 state = 0;
- state = digitalRead(phy_pin[pin-1]);
- return (state);
-}
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
deleted file mode 100644
index f828f77..0000000
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to change the output state of the gpio pin */
-
-
-#include "types.h"
-#include "RPIPeripheralDigital.h"
-
-/*pin is reduced by one as array index starts from 0 and pin no starts from 1*/
-void u8RPIDigitalOuts(uint8 pin, uint8 state)
-{
- if (state == 0) /*low output*/
- digitalWrite(phy_pin[pin-1], LOW);
- if (state == 1) /*high output*/
- digitalWrite(phy_pin[pin-1], HIGH);
-}
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
deleted file mode 100644
index f5fefe0..0000000
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to setup digital pins
- direction = 1 -> output
- direction = 0 -> input
-*/
-
-#include "types.h"
-#include "RPIPeripheralDigital.h"
-
-
-/*This array maps pin numbers on RPi board, with pin numbers corrsponding
-to WiringPi library*/
-int phy_pin[] = {17, 17, 8, 17, 9, 17, 7, 15, 17, 16, /*Pin 1 to 10*/
- 0, 1, 2, 17, 3, 4, 17, 5, 12, 17, /*Pin 11 to 20*/
- 13, 6, 14, 10, 17, 11, 30, 31, 21, 17, /*Pin 21 to 30*/
- 22, 26, 23, 17, 24, 27, 25, 28, 17, 29 }; /*Pin 31 to 40*/
-
-/*pin is reduced by one as arrayiindex starts from 0 and pin no starts from 1*/
-void u8RPIDigitalSetups(uint8 pin, uint8 direction)
-{
- if(direction == 1) /*Pin to be used as output*/
- pinMode(phy_pin[pin-1], OUTPUT);
- else if(direction == 2)
- pinMode(phy_pin[pin-1], PWM_OUTPUT);
- else
- pinMode(phy_pin[pin-1], INPUT);
-
-}
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
index 2f40ffb..22d470a 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+/* 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
@@ -19,15 +19,12 @@
extern "C" {
#endif
-
#include "types.h"
-#include "wiringPi.h"
-
-extern int phy_pin[];
-void u8RPIDigitalSetups(uint8 pin, uint8 direction);
-void u8RPIDigitalOuts(uint8 pin, uint8 state);
-uint8 u8RPIDigitalIns(uint8 pin);
+uint8 u8RPI_digitalReads(uint8 pin);
+uint8 RPI_digitalReadByte();
+void u8RPI_digitalWrites(uint8 pin, uint8 state);
+void u8RPI_digitalWriteBytes(uint8 value);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h
new file mode 100644
index 0000000..3594d0a
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h
@@ -0,0 +1,32 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __RPIPERIPHERALGERTBOARD_H__
+#define __RPIPERIPHERALGERTBOARD_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "gertboard.h"
+
+int8 RPI_gertboardSPISetup();
+uint16 u16RPI_gertboardAnalogReads(uint16 pin);
+int8 u16RPI_gertboardAnalogSetups(uint16 pinBase);
+void u16RPI_gertboardAnalogWrites(uint16 pin,uint16 value);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALGERTBOARD_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h
new file mode 100644
index 0000000..6c8dfe1
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h
@@ -0,0 +1,37 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* This file declares functions and constants related to rasberrypi*/
+
+#ifndef __RPIPERIPHERALI2C_H__
+#define __RPIPERIPHERALI2C_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "wiringPiI2C.h"
+
+int8 u16RPI_I2CSetups(uint8 arrd);
+int8 u16RPI_I2CReads(uint16 fd);
+int8 u16RPI_I2CReadReg8s(uint16 fd,uint16 reg);
+int8 u16RPI_I2CReadReg16s(uint16 fd,uint16 reg);
+int8 u16RPI_I2CWrites(uint16 fd,uint16 data);
+int8 u16RPI_I2CWriteReg8s(uint16 fd,uint16 reg,uint16 data);
+int8 u16RPI_I2CWriteReg16s(uint16 fd,uint16 reg,uint16 data);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALI2C_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h
new file mode 100644
index 0000000..d9fc30f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h
@@ -0,0 +1,27 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALINTERRUPT_H__
+#define __RPIPERIPHERALINTERRUPT_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+
+int8 u8RPI_waitForInterrupts(uint8 pin,int16 time);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALINTERRUPT_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h
new file mode 100644
index 0000000..654a31a
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h
@@ -0,0 +1,39 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALLCD_H__
+#define __RPIPERIPHERALLCD_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "lcd.h"
+
+void u8RPI_lcdCharDefs(uint8 fd,uint8 index,uint8 d0,uint8 d1,uint8 d2,uint8 d3, uint8 d4,uint8 d5,uint8 d6,uint8 d7);
+void u8RPI_lcdClears(uint8 fd);
+void u8RPI_lcdCursorBlinks(uint8 fd,uint8 state);
+void u8RPI_lcdCursors(uint8 fd,uint8 state);
+void u8RPI_lcdDisplays(uint8 fd,uint8 state);
+void u8RPI_lcdHomes(uint8 fd);
+int8 u8RPI_lcdInits(uint8 rows,uint8 cols,uint8 bits,uint8 rs,uint8 strb,uint8 d0,uint8 d1,uint8 d2,uint8 d3,uint8 d4,uint8 d5,uint8 d6,uint8 d7);
+void u8RPI_lcdPositions(uint8 fd,uint8 row,uint8 col);
+void u8RPI_lcdPutchars(uint8 fd,uint8 character);
+void u8RPI_lcdSendCommands(uint8 fd,uint8 cmd);
+void u8RPI_lcdPutss(uint8 fd,char* msg,int size);
+void u8RPI_lcdPrintfs(uint8 fd,char* data,int size);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALLCD_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h
new file mode 100644
index 0000000..d541c9f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralLCD128x64.h
@@ -0,0 +1,43 @@
+ /* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALLCD128x64_H__
+#define __RPIPERIPHERALLCD128x64_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "lcd128x64.h"
+
+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);
+
+//void u8RPI_lcd128x64orientCoordinatess(uint8 *x, uint8 *y);
+//void u8RPI_lcd128x64getScreenSizes(uint8 *x, uint8 *y);
+//void RPI_lcd128x64update(void);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALLCD128x64_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h
new file mode 100644
index 0000000..5304f14
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h
@@ -0,0 +1,36 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALMCP_H__
+#define __RPIPERIPHERALMCP_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "mcp23016.h"
+#include "mcp23017.h"
+#include "mcp23008.h"
+#include "mcp23s17.h"
+#include "mcp23s08.h"
+
+uint8 u16RPI_mcp23008Setups(uint16 pinBase,uint8 addr);
+uint8 u16RPI_mcp23016Setups(uint16 pinBase,uint8 addr);
+uint8 u16RPI_mcp23017Setups(uint16 pinBase,uint8 addr);
+uint8 u16RPI_mcp23s08Setups(uint16 pinBase,uint8 spiport,uint8 devId);
+uint8 u16RPI_mcp23s17Setups(uint16 pinBase,uint8 spiport,uint8 devId);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALMCP_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h
new file mode 100644
index 0000000..0ef5acc
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h
@@ -0,0 +1,31 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __RPIPERIPHERALMISC_H__
+#define __RPIPERIPHERALMISC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "sn3218.h"
+
+uint8 RPI_boardRev();
+void u8RPI_padDrives(uint8 group,uint8 strength);
+int8 u16RPI_sn3218Setups(uint16 pinBase);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALMISC_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
index d463d9c..f1d3024 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
@@ -5,24 +5,24 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- Author: Siddhesh Wani
+ Author: Siddhesh Wani, Jorawar Singh
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
#ifndef __RPIPERIPHERALPWM_H__
#define __RPIPERIPHERALPWM_H__
-#include "types.h"
-#include "wiringPi.h"
-
#ifdef __cplusplus
extern "C" {
#endif
-void u8RPIHardPWMWrites(uint8 pin, uint16 value);
-void u8RPIHardPWMSetRanges(uint16 value);
-void u8RPIHardPWMSetModes(uint8 mode);
-void u8RPIHardPWMSetClocks(uint16 clk_divisor);
+#include "types.h"
+
+void u8RPI_pwmWrites(uint8 pin,uint16 value);
+void u32RPI_pwmRanges(uint32 value);
+void gRPI_pwmModea(char* mode,int size);
+void u16RPI_pwmClocks(uint16 divisor);
+void u8RPI_pwmToneWrites(uint8 pin,uint16 value);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h
new file mode 100644
index 0000000..5545933
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h
@@ -0,0 +1,30 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALPCF_H__
+#define __RPIPERIPHERALPCF_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "pcf8574.h"
+#include "pcf8591.h"
+
+uint8 u16RPI_pcf8574Setups(uint16 pinBase,uint8 addr);
+uint8 u16RPI_pcf8591Setups(uint16 pinBase,uint8 addr);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALPCF_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h
new file mode 100644
index 0000000..d2dcd13
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h
@@ -0,0 +1,31 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALPIGLOW_H__
+#define __RPIPERIPHERALPIGLOW_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "piGlow.h"
+
+void u8RPI_piGlowSetups(uint8 clear);
+void u8RPI_piGlow1s(uint8 leg,uint8 ring,uint8 intensity);
+void u8RPI_piGlowLegs(uint8 leg,uint8 intensity);
+void u8RPI_piGlowRings(uint8 ring,uint8 intensity);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALPIGLOW_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
deleted file mode 100644
index fc5a8d0..0000000
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
+++ /dev/null
@@ -1,26 +0,0 @@
- /* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __RPIPERIPHERALPINISR_H__
-#define __RPIPERIPHERALPINISR_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int16 i16RPIPinISRs(uint8 pin, uint8 edgetype, void (*ISRFunction)(void));
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__RPIPERIPHERALPINISR_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h
new file mode 100644
index 0000000..39c2379
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h
@@ -0,0 +1,28 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALPINMAP_H__
+#define __RPIPERIPHERALPINMAP_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+
+int8 u8RPI_physToGpios(uint8 pin);
+int8 u8RPI_wpiToGpios(uint8 pin);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALPINMAP_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
index 14df95b..67284bd 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
@@ -5,42 +5,28 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- Author: Siddhesh Wani
+ Author: Siddhesh Wani, Jorawar Singh
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
#ifndef __RPIPERIPHERALSERIAL_H__
#define __RPIPERIPHERALSERIAL_H__
-#include "types.h"
-#include "wiringSerial.h"
-
#ifdef __cplusplus
extern "C" {
#endif
-int u8RPISerialSetups(char* port, int baudrate);
-void u8RPISerialCloses(int fd);
-
-void u8RPISerialSendChars(int fd, uint8 data);
-void u8RPISerialSendDatas(int fd, uint8 data);
-void i8RPISerialSendDatas(int fd, int8 data);
-void u16RPISerialSendDatas(int fd, uint16 data);
-void i16RPISerialSendDatas(int fd, int16 data);
-void sRPISerialSendDatas(int fd, float data);
-void dRPISerialSendDatas(int fd, double data);
-void u8RPISerialSendDataa(int fd, uint8* data, int size);
-void i8RPISerialSendDataa(int fd, int8* data, int size);
-void u16RPISerialSendDataa(int fd, uint16* data, int size);
-void i16RPISerialSendDataa(int fd, int16* data, int size);
-void sRPISerialSendDataa(int fd, float* data, int size);
-void dRPISerialSendDataa(int fd, double* data, int size);
-void gRPISerialSendDatas(int fd, uint8* data, int size);
-
-int16 i16RPISerialDataAvails(int fd);
-int16 i16RPISerialGetChars(int fd);
+#include "types.h"
+#include "wiringSerial.h"
-void u8RPISerialFlushs(int fd);
+int8 gRPI_serialOpena(char* device,int size,uint32 baud);
+void u8RPI_serialCloses(uint8 fd);
+uint8 u8RPI_serialDataAvails(uint8 fd);
+void u8RPI_serialFlushs(uint8 fd);
+void u8RPI_serialGetchars(uint8 fd,char* out);
+void u8RPI_serialPrintfs(uint8 fd,char* msg,int size);
+void u8RPI_serialPutchars(uint8 fd,uint8 character);
+void u8RPI_serialPutss(uint8 fd,char* character,int size);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h
new file mode 100644
index 0000000..373f064
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h
@@ -0,0 +1,35 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* This file declares functions and constants related to Setup*/
+
+#ifndef __RPIPERIPHERALSETUP_H__
+#define __RPIPERIPHERALSETUP_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "wiringPi.h"
+
+int8 gRPI_pinNumberinga(char* seq,int size);
+uint8 u8RPI_getAlts(uint8 pin);
+void u8RPI_pinModeAlts(uint8 pin,uint8 mode);
+void u8RPI_pinModes(uint8 pin,char* mode,int size);
+void u8RPI_pullControls(uint8 pin,char* mode,int size);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALSETUP_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h
new file mode 100644
index 0000000..4c58bb7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h
@@ -0,0 +1,31 @@
+ /* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALSHIFT_H__
+#define __RPIPERIPHERALSHIFT_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "wiringShift.h"
+#include "sr595.h"
+
+uint8 u8RPI_shiftIns(uint8 dpin,uint8 cpin,uint8 order);
+void u8RPI_shiftOuts(uint8 dpin,uint8 cpin,uint8 order,uint8 val);
+int8 u16RPI_sr595Setups(uint16 pinBase,uint8 nPins,uint8 dP,uint8 cP,uint8 lP);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALSHIFT_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h
new file mode 100644
index 0000000..9494506
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h
@@ -0,0 +1,37 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* This file declares functions and constants related to Setup*/
+
+#ifndef __RPIPERIPHERALSOFT_H__
+#define __RPIPERIPHERALSOFT_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "softPwm.h"
+#include "softTone.h"
+
+uint8 u8RPI_softPwmCreates(uint8 pin,uint16 ival,uint16 range);
+void u8RPI_softPwmStops(uint8 pin);
+void u8RPI_softPwmWrites(uint8 pin,uint16 value);
+uint8 u8RPI_softToneCreates(uint8 pin);
+void u8RPI_softToneStops(uint8 pin);
+void u8RPI_softToneWrites(uint8 pin,uint32 value);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALSOFT_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
deleted file mode 100644
index a7b2adb..0000000
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
+++ /dev/null
@@ -1,28 +0,0 @@
- /* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __RPIPERIPHERALTHREADING_H__
-#define __RPIPERIPHERALTHREADING_H__
-
-#include "types.h"
-#include "wiringPi.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint16 RPIThreadCreate(void *(*threadFunction)(void*));
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__RPIPERIPHERALTHREADING_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
index 854073f..e75a539 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
@@ -5,7 +5,7 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- Author: Siddhesh Wani
+ Author: Siddhesh Wani, Jorawar Singh
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
@@ -22,10 +22,10 @@ extern "C" {
#include "types.h"
#include "wiringPi.h"
-void u16RPIDelayMillis(uint16 time);
-void u16RPIDelayMicros(uint16 time);
-uint32 u32RPIGetMillis();
-uint32 u32RPIGetMicros();
+void u32RPI_delays(uint32 time);
+void u32RPI_delayMicros(uint32 time);
+uint32 RPI_millis();
+uint32 RPI_micros();
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h
index 40a8e1a..096fed0 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h
@@ -5,7 +5,7 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- Author: Siddhesh Wani
+ Author: Siddhesh Wani, Jorawar Singh
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
@@ -20,14 +20,17 @@
extern "C" {
#endif
-#define RPI_DigitalSetup(in1,in2) u8RPIDigitalSetups((uint8) in1, (uint8) in2);
+#define u80RPI_digitalReadu80(pin) u8RPI_digitalReads(pin);
+#define d0RPI_digitalReadd0(pin) u8RPI_digitalReads(pin);
-#define RPI_DigitalIn(in1) u8RPIDigitalIns((uint8) in1);
+#define RPI_digitalReadByteu80() RPI_digitalReadByte();
+#define u80u80RPI_digitalWrite(pin,state) u8RPI_digitalWrites(pin,state);
+#define d0d0RPI_digitalWrite(pin,state) u8RPI_digitalWrites(pin,state);
-#define RPI_DigitalOut(in1,in2) u8RPIDigitalOuts((uint8) in1, (uint8) in2);
+#define u80RPI_digitalWriteByte(value) u8RPI_digitalWriteBytes(value);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /* !__RPIPERIPHERALGPIO_H__ */
+#endif /* !__INT_RPIPERIPHERALGPIO_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h
new file mode 100644
index 0000000..cea8bb6
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h
@@ -0,0 +1,32 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALGERTBOARD_H__
+#define __INT_RPIPERIPHERALGERTBOARD_H__
+
+#include "types.h"
+#include "RPIPeripheralGertboard.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RPI_gertboardSPISetupi80() RPI_gertboardSPISetup();
+#define u160RPI_gertboardAnalogSetupi80(pinBase) u16RPI_gertboardAnalogSetups(pinBase);
+#define u160RPI_gertboardAnalogReadu160(pin) u160RPI_gertboardAnalogReads(pin);
+#define u160u160RPI_gertboardAnalogWrite(pin,value) u160RPI_gertboardAnalogWrites(pin,value);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALGERTBOARD_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h
new file mode 100644
index 0000000..f18fd57
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h
@@ -0,0 +1,35 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALI2C_H__
+#define __INT_RPIPERIPHERALI2C_H__
+
+#include "types.h"
+#include "RPIPeripheralI2C.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u160RPI_I2CSetupi80(arrd) u16RPI_I2CSetups(arrd);
+#define u160RPI_I2CReadi80(fd) u16RPI_I2CReads(fd);
+#define u160u160RPI_I2CReadReg8i80(fd,reg) u16RPI_I2CReadReg8s(fd,reg);
+#define u160u160RPI_I2CReadReg16i80(fd,reg) u16RPI_I2CReadReg16s(fd,reg);
+#define u160u160RPI_I2CWritei80(fd,data) u16RPI_I2CWrites(fd,data);
+#define u160u160u160RPI_I2CWriteReg8i80(fd,reg,data) u16RPI_I2CWriteReg8s(fd,reg,data);
+#define u160u160u160RPI_I2CWriteReg16i80(fd,reg,data) u16RPI_I2CWriteReg16s(fd,reg,data);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALI2C_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h
new file mode 100644
index 0000000..572d028
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h
@@ -0,0 +1,30 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALINTERRUPT_H__
+#define __INT_RPIPERIPHERALINTERRUPT_H__
+
+#include "types.h"
+#include "RPIPeripheralInterrupt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u80i160RPI_waitForInterrupti80(pin,time) u8RPI_waitForInterrupts(pin,time);
+#define d0d0RPI_waitForInterrupti80(pin,time) u8RPI_waitForInterrupts(pin,time);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALINTERRUPT_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h
new file mode 100644
index 0000000..e4f3ca2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h
@@ -0,0 +1,40 @@
+/* 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
+*/
+
+#ifndef __INT_RPIPERIPHERALLCD_H__
+#define __INT_RPIPERIPHERALLCD_H__
+
+#include "types.h"
+#include "RPIPeripheralLCD.h"
+
+#ifdef __cplusplus
+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 u80RPI_lcdClear(fd) u8RPI_lcdClears(fd);
+#define u80u80RPI_lcdCursorBlink(fd,state) u8RPI_lcdCursorBlinks(fd,state);
+#define u80u80RPI_lcdCursor(fd,state) u8RPI_lcdCursors(fd,state);
+#define u80u80RPI_lcdDisplay(fd,state) u8RPI_lcdDisplays(fd,state);
+#define u80RPI_lcdHome(fd) u8RPI_lcdHomes(fd);
+#define u80u80u80u80u80u80u80u80u80u80u80u80u80RPI_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 u80u80RPI_lcdPutchar(fd,char) u8RPI_lcdPutchars(fd,char);
+#define u80u80RPI_lcdSendCommand(fd,cmd) u8RPI_lcdSendCommands(fd,cmd);
+#define u80g2RPI_lcdPuts(fd,msg,size) u8RPI_lcdPutss(fd,msg,size[1]);;
+#define u80g2RPI_lcdPrintf(fd,data,size) u8RPI_lcdPrintfs(fd,data,size[1]);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALLCD_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h
new file mode 100644
index 0000000..46b6328
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD128x64.h
@@ -0,0 +1,58 @@
+/* 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
+*/
+
+#ifndef __INT_RPIPERIPHERALLCD128x64_H__
+#define __INT_RPIPERIPHERALLCD128x64_H__
+
+#include "types.h"
+#include "RPIPeripheralLCD128x64.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RPI_lcd128x64setupi80() RPI_lcd128x64setup();
+
+#define u80RPI_lcd128x64clear(colour) u8RPI_lcd128x64clears(colour);
+#define d0RPI_lcd128x64clear(colour) u8RPI_lcd128x64clears(colour);
+
+#define u80RPI_lcd128x64Orientation(orientation) u8RPI_lcd128x64Orientations(orientation);
+#define d0RPI_lcd128x64Orientation(orientation) u8RPI_lcd128x64Orientations(orientation);
+
+#define u80u80RPI_lcd128x64setOrigin(x,y) u8RPI_lcd128x64setOrigins(x,y);
+#define d0d0RPI_lcd128x64setOrigin(x,y) u8RPI_lcd128x64setOrigins(x,y);
+
+#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);
+
+#define u80u80u80u80u80RPI_lcd128x64line(x0,y0,x1,y1,colour) u8RPI_lcd128x64lines(x0,y0,x1,y1,colour);
+#define d0d0d0d0d0RPI_lcd128x64line(x0,y0,x1,y1,colour) u8RPI_lcd128x64lines(x0,y0,x1,y1,colour);
+#define u80u80u80u80u80RPI_lcd128x64circle(x,y,r,colour,filled) u8RPI_lcd128x64circles(x,y,r,colour,filled);
+#define d0d0d0d0d0RPI_lcd128x64circle(x,y,r,colour,filled) u8RPI_lcd128x64circles(x,y,r,colour,filled);
+#define u80u80u80u80u80RPI_lcd128x64putchar(x,y,c,bgCol,fgCol) u8RPI_lcd128x64putchars(x,y,c,bgCol,fgCol);
+#define d0d0d0d0u80RPI_lcd128x64putchar(x,y,c,bgCol,fgCol) u8RPI_lcd128x64putchars(x,y,c,bgCol,fgCol);
+
+#define u80u80g2u80u80RPI_lcd128x64puts(x,y,str,size,bgCol,fgCol) u8RPI_lcd128x64putss(x,y,str,size[1],bgCol,fgCol);
+#define d0d0g2d0d0RPI_lcd128x64puts(x,y,str,size,bgCol,fgCol) u8RPI_lcd128x64putss(x,y,str,size[1],bgCol,fgCol);
+
+#define u80u80u80u80u80u80RPI_lcd128x64rectangle(x1,y1,x2,y2,colour,filled) u8RPI_lcd128x64rectangles(x1,y1,x2,y2,colour,filled);
+#define d0d0d0d0d0d0RPI_lcd128x64rectangle(x1,y1,x2,y2,colour,filled) u8RPI_lcd128x64rectangles(x1,y1,x2,y2,colour,filled);
+#define u80u80u80u80u80u80RPI_lcd128x64ellipse(cx,cy,xRadius,yRadius,colour,filled) u8RPI_lcd128x64ellipses(cx,cy,xRadius,yRadius,colour,filled);
+#define d0d0d0d0d0d0RPI_lcd128x64ellipse(cx,cy,xRadius,yRadius,colour,filled) u8RPI_lcd128x64ellipses(cx,cy,xRadius,yRadius,colour,filled);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALLCD128x64_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h
new file mode 100644
index 0000000..c044cf7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h
@@ -0,0 +1,33 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALMCP_H__
+#define __INT_RPIPERIPHERALMCP_H__
+
+#include "types.h"
+#include "RPIPeripheralMcp.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u160u80RPI_mcp23008Setupu80(pinBase,addr) u16RPI_mcp23008Setups(pinBase,addr);
+#define u160u80RPI_mcp23016Setupu80(pinBase,addr) u16RPI_mcp23016Setups(pinBase,addr);
+#define u160u80RPI_mcp23017Setupu80(pinBase,addr) u16RPI_mcp23017Setups(pinBase,addr);
+#define u160u80u80RPI_mcp23s08Setupu80(pinBase,spiport,devId) u16RPI_mcp23s08Setups(pinBase,spiport,devId);
+#define u160u80u80RPI_mcp23s17Setupu80(pinBase,spiport,devId) u16RPI_mcp23s17Setups(pinBase,spiport,devId);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALMCP_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h
new file mode 100644
index 0000000..b836d68
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h
@@ -0,0 +1,31 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALMISC_H__
+#define __INT_RPIPERIPHERALMISC_H__
+
+#include "types.h"
+#include "RPIPeripheralMisc.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RPI_boardRevu80() RPI_boardRev();
+#define u80u80RPI_padDrive(group,strength) u8RPI_padDrives(group,strength);
+#define u160RPI_sn3218Setupi80(pinBase) u16RPI_sn3218Setups(pinBase);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALMISC_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h
index 8c8f4c6..49c58c0 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h
@@ -1,30 +1,33 @@
- /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+/* 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: Siddhesh Wani
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
+*/
+
#ifndef __INT_RPIPERIPHERALPWM_H__
#define __INT_RPIPERIPHERALPWM_H__
#include "types.h"
+#include "RPIPeripheralPWM.h"
#ifdef __cplusplus
extern "C" {
#endif
-#define RPI_HardPWMWrite(pin,value) u8RPIHardPWMWrites((uint8)pin,(uint16)value)
-#define RPI_HardPWMSetRange(value) u8RPIHardPWMSetRanges((uint16)value)
-#define RPI_HardPWMSetMode(mode) u8RPIHardPWMSetModes((uint8)mode)
-#define RPI_HardPWMSetClock(clk_divisor) u8RPIHardPWMSetClocks((uint16)clk_divisor)
+#define u80u160RPI_pwmWrite(pin,value) u8RPI_pwmWrites(pin,value);
+#define u320RPI_pwmRange(value) u32RPI_pwmRanges(value);
+#define g2RPI_pwmMode(mode) gRPI_pwmModea(mode);
+#define u160RPI_pwmClock(divisor) u16RPI_pwmClocks(divisor);
+#define u80u160RPI_pwmToneWrite(pin,value) u8RPI_pwmToneWrites(pin,value);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_RPIPERIPHERALPWM_H__*/
+#endif /* !__INT_RPIPERIPHERALPWM_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h
new file mode 100644
index 0000000..e3d2009
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h
@@ -0,0 +1,30 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALPCF_H__
+#define __INT_RPIPERIPHERALPCF_H__
+
+#include "types.h"
+#include "RPIPeripheralPcf.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u160u80RPI_pcf8574Setupu80(pinBase,addr) u16RPI_pcf8574Setups(pinBase,addr);
+#define u160u80RPI_pcf8591Setupu80(pinBase,addr) u16RPI_pcf8591Setups(pinBase,addr);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALPCF_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h
new file mode 100644
index 0000000..08056f9
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h
@@ -0,0 +1,32 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALPIGLOW_H__
+#define __INT_RPIPERIPHERALPIGLOW_H__
+
+#include "types.h"
+#include "RPIPeripheralPiGlow.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u80RPI_piGlowSetup(clear) u8RPI_piGlowSetups(clear);
+#define u80u80u80RPI_piGlow1(leg,ring,intensity) u8RPI_piGlow1s(leg,ring,intensity);
+#define u80u80RPI_piGlowLeg(leg,intensity) u8RPI_piGlowLegs(leg,intensity);
+#define u80u80RPI_piGlowRing(ring,intensity) u8RPI_piGlowRings(ring,intensity);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALPIGLOW_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
deleted file mode 100644
index b2c1ed1..0000000
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
+++ /dev/null
@@ -1,25 +0,0 @@
- /* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_RPIPERIPHERALPINISR_H__
-#define __INT_RPIPERIPHERALPINISR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define RPI_PinISR(pin,edge,funname) i16RPIPinISRs((uint8)pin,(uint8)edge,funname)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_RPIPERIPHERALPINISR_H__*/
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h
new file mode 100644
index 0000000..39c5c01
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h
@@ -0,0 +1,30 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALPINMAP_H__
+#define __INT_RPIPERIPHERALPINMAP_H__
+
+#include "types.h"
+#include "RPIPeripheralPinMap.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u80RPI_physToGpioi80(pin) u8RPI_physToGpios(pin);
+#define u80RPI_wpiToGpioi80(pin) u8RPI_wpiToGpios(pin);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALPINMAP_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h
index 5d53b98..e0832f9 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h
@@ -1,47 +1,36 @@
- /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+/* 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: Siddhesh Wani
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
+*/
+
#ifndef __INT_RPIPERIPHERALSERIAL_H__
#define __INT_RPIPERIPHERALSERIAL_H__
#include "types.h"
+#include "RPIPeripheralSerial.h"
#ifdef __cplusplus
extern "C" {
#endif
-#define RPI_SerialSetup(port,size,baudrate) u16RPISerialSetups(port,baudrate)
-#define RPI_SerialClose(fd) u8RPISerialCloses(fd)
-
-#define u80u80RPI_SerialSendData(fd,data) u8RPISerialSendDatas(fd,data)
-#define u80i80RPI_SerialSendData(fd,data) i8RPISerialSendDatas(fd,data)
-#define u80u160RPI_SerialSendData(fd,data) u16RPISerialSendDatas(fd,data)
-#define u80i160RPI_SerialSendData(fd,data) i16RPISerialSendDatas(fd,data)
-#define u80s0RPI_SerialSendData(fd,data) sRPISerialSendDatas(fd,data)
-#define u80d0RPI_SerialSendData(fd,data) dRPISerialSendDatas(fd,data)
-
-#define u80u82RPI_SerialSendData(fd,data,size) u8RPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80i82RPI_SerialSendData(fd,data,size) i8RPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80u162RPI_SerialSendData(fd,data,size) u16RPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80i162RPI_SerialSendData(fd,data,size) i16RPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80s2RPI_SerialSendData(fd,data,size) sRPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80d2RPI_SerialSendData(fd,data,size) dRPISerialSendDataa(fd,data,size[0]*size[1]);
-#define u80g2RPI_SerialSendData(fd,data,size) gRPISerialSendDatas(fd,data,size[0]*size[1]);
-
-#define RPI_SerialDataAvail(fd) i16RPISerialDataAvails(fd)
-#define RPI_SerialGetChar(fd) i16RPISerialGetChars(fd)
-#define RPI_SerialFlush(fd) u8RPISerialFlushs(fd)
+#define g2u320RPI_serialOpeni80(device,size,baud) gRPI_serialOpena(device,size[1],baud);
+#define u80RPI_serialClose(fd) u8RPI_serialCloses(fd);
+#define u80RPI_serialDataAvailu80(fd) u8RPI_serialDataAvails(fd);
+#define u80RPI_serialFlush(fd) u8RPI_serialFlushs(fd);
+#define u80RPI_serialGetcharg2(fd,out) u8RPI_serialGetchars(fd,out);
+#define u80g2RPI_serialPrintf(fd,msg,size) u8RPI_serialPrintfs(fd,msg,size[1]);
+#define u80u80RPI_serialPutchar(fd,character) u8RPI_serialPutchars(fd,character);
+#define u80g2RPI_serialPutsg2(fd,character,size) u8RPI_serialPutss(fd,character,size[1]);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_RPIPERIPHERALSERIAL_H__*/
+#endif /* !__INT_RPIPERIPHERALSERIAL_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h
new file mode 100644
index 0000000..bd82702
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h
@@ -0,0 +1,47 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALSETUP_H__
+#define __INT_RPIPERIPHERALSETUP_H__
+
+#include "RPIPeripheralSetup.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//pinNumbering
+#define g2RPI_pinNumberingi80(seq,size) gRPI_pinNumberinga(seq,size[1]);
+//getAlt
+#define u80RPI_getAltu80(pin) u8RPI_getAlts(pin);
+#define u160RPI_getAltu80(pin) u8RPI_getAlts(pin);
+#define u320RPI_getAltu80(pin) u8RPI_getAlts(pin);
+#define d0RPI_getAltu80(pin) u8RPI_getAlts(pin);
+//pinModeAlt
+#define u80u80RPI_pinModeAlt(pin,mode) u8RPI_pinModeAlts(pin,mode);
+#define u160u160RPI_pinModeAlt(pin,mode) u8RPI_pinModeAlts(pin,mode);
+#define u320u320RPI_pinModeAlt(pin,mode) u8RPI_pinModeAlts(pin,mode);
+#define d0d0RPI_pinModeAlt(pin,mode) u8RPI_pinModeAlts(pin,mode);
+//pinMode
+#define u80g2RPI_pinMode(pin,mode,size) u8RPI_pinModes(pin,mode,size[1]);
+#define u160g2RPI_pinMode(pin,mode,size) u8RPI_pinModes(pin,mode,size[1]);
+#define u320g2RPI_pinMode(pin,mode,size) u8RPI_pinModes(pin,mode,size[1]);
+#define d0g2RPI_pinMode(pin,mode,size) u8RPI_pinModes(pin,mode,size[1]);
+//pullControl
+#define u80g2RPI_pullControl(pin,mode,size) u8RPI_pullControls(pin,mode,size[1]);
+#define d0g2RPI_pullControl(pin,mode,size) u8RPI_pullControls(pin,mode,size[1]);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALSETUP_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h
new file mode 100644
index 0000000..6b142bd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h
@@ -0,0 +1,31 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALSHIFT_H__
+#define __INT_RPIPERIPHERALSHIFT_H__
+
+#include "types.h"
+#include "RPIPeripheralShift.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u80u80u80RPI_shiftInu80(dpin,cpin,order) u8RPI_shiftIns(dpin,cpin,order);
+#define u80u80u80u80RPI_shiftOut(dpin,cpin,order,val) u8RPI_shiftOuts(dpin,cpin,order,val);
+#define u160u80u80u80u80RPI_sr595Setupi80(pinBase,nPins,dP,cP,lP) u16RPI_sr595Setups(pinBase,nPins,dP,cP,lP);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALSHIFT_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h
new file mode 100644
index 0000000..80372b2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h
@@ -0,0 +1,34 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_RPIPERIPHERALSOFT_H__
+#define __INT_RPIPERIPHERALSOFT_H__
+
+#include "types.h"
+#include "RPIPeripheralSoft.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define u80u160u160RPI_softPwmCreateu80(pin,ival,range) u8RPI_softPwmCreates(pin,ival,range);
+#define u80RPI_softPwmStop(pin) u8RPI_softPwmStops(pin);
+#define u80u160RPI_softPwmWrite(pin,value) u8RPI_softPwmWrites(pin,value);
+#define u80RPI_softToneCreateu80(pin) u8RPI_softToneCreates(pin);
+#define u80RPI_softToneStop(pin) u8RPI_softToneStops(pin);
+#define u80u320RPI_softToneWrite(pin,value) u8RPI_softToneWrites(pin,value);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__INT_RPIPERIPHERALSOFT_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
deleted file mode 100644
index 68ed6e0..0000000
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
+++ /dev/null
@@ -1,25 +0,0 @@
- /* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_RPIPERIPHERALTHREADING_H__
-#define __INT_RPIPERIPHERALTHREADING_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define RPI_ThreadCreate(fn) RPIThreadCreate(fn);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_RPIPERIPHERALTHREADING_H__*/
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
index 1a70465..d2fae23 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
@@ -5,12 +5,11 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- Author: Siddhesh Wani
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-
#ifndef __INT_RPIPERIPHERALTIMING_H__
#define __INT_RPIPERIPHERALTIMING_H__
@@ -21,14 +20,15 @@
extern "C" {
#endif
-#define RPI_DelayMicro(in1) u16RPIDelayMicros((uint16) in1)
-#define RPI_DelayMilli(in1) u16RPIDelayMillis((uint16) in1)
-#define RPI_GetMicro() u32RPIGetMicros()
-#define RPI_GetMillis() u32RPIGetMillis()
+#define u320RPI_delay(time) u32RPI_delays(time);
+#define d0RPI_delay(time) u32RPI_delays(time);
+#define u320RPI_delayMicro(time) u32RPI_delayMicros(time);
+#define RPI_millisu320() RPI_millis();
+#define RPI_microsu320() RPI_micros();
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /* !__RPIPERIPHERALTIMING_H__ */
+#endif /* !__INT_RPIPERIPHERALTIMING_H__ */
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c
new file mode 100644
index 0000000..b85d82f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c
@@ -0,0 +1,18 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdCharDefs(uint8 fd,uint8 index,uint8 d0,uint8 d1,uint8 d2,uint8 d3, uint8 d4,uint8 d5,uint8 d6,uint8 d7){
+ uint8 data[8]={d0,d1,d2,d3,d4,d5,d6,d7};
+ lcdCharDef(fd,index,data);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c
new file mode 100644
index 0000000..659cdf0
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdClears(uint8 fd){
+ lcdClear(fd);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c
new file mode 100644
index 0000000..bf0c48e
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdCursorBlinks(uint8 fd,uint8 state){
+ lcdCursorBlink(fd,state);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c
new file mode 100644
index 0000000..8bb0271
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdCursors(uint8 fd,uint8 state){
+ lcdCursor(fd,state);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c
new file mode 100644
index 0000000..7425ebe
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdDisplays(uint8 fd,uint8 state){
+ lcdDisplay(fd,state);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c
new file mode 100644
index 0000000..98762de
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdHomes(uint8 fd){
+ lcdHome(fd);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c
new file mode 100644
index 0000000..b69f311
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+int8 u8RPI_lcdInits(uint8 rows,uint8 cols,uint8 bits,uint8 rs,uint8 strb,uint8 d0,uint8 d1,uint8 d2,uint8 d3,uint8 d4,uint8 d5,uint8 d6,uint8 d7){
+ uint8 fd;
+ fd=lcdInit(rows,cols,bits,rs,strb,d0,d1,d2,d3,d4,d5,d6,d7);
+ return (fd);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c
new file mode 100644
index 0000000..3188a97
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdPositions(uint8 fd,uint8 row,uint8 col){
+ lcdPosition(fd,row,col);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c
new file mode 100644
index 0000000..58d01fa
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdPrintfs(uint8 fd,char* data,int size){
+ lcdPrintf(fd,data);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c
new file mode 100644
index 0000000..c50a177
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdPutchars(uint8 fd,uint8 character){
+ lcdPutchar(fd,character);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c
new file mode 100644
index 0000000..a7f492b
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c
@@ -0,0 +1,17 @@
+/* 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, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdPutss(uint8 fd,char* msg,int size){
+ lcdPuts(fd,msg);
+}
diff --git a/src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c
new file mode 100644
index 0000000..7097d69
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD.h"
+
+void u8RPI_lcdSendCommands(uint8 fd,uint8 cmd){
+ lcdSendCommand(fd,cmd);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64Orientation.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64Orientation.c
new file mode 100644
index 0000000..5239102
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64Orientation.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64Orientations(uint8 orientation){
+ lcd128x64setOrientation(orientation);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64circle.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64circle.c
new file mode 100644
index 0000000..9019d8f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64circle.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64circles(uint8 x,uint8 y,uint8 r,uint8 colour,uint8 filled){
+ lcd128x64circle(x,y,r,colour,filled);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64clear.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64clear.c
new file mode 100644
index 0000000..a83cef2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64clear.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64clears(uint8 colour){
+ lcd128x64clear(colour);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c
new file mode 100644
index 0000000..d2e2f54
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64ellipse.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64ellipses(uint8 cx, uint8 cy, uint8 xRadius, uint8 yRadius, uint8 colour, uint8 filled){
+ lcd128x64ellipse(cx,cy,xRadius,yRadius,colour,filled);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64line.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64line.c
new file mode 100644
index 0000000..f585080
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64line.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64lines(uint8 x0, uint8 y0, uint8 x1, uint8 y1, uint8 colour){
+ lcd128x64line(x0,y0,x1,y1,colour);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c
new file mode 100644
index 0000000..3f791f6
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64lineTo.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64lineTos(uint8 x, uint8 y, uint8 colour){
+ lcd128x64lineTo(x,y,colour);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64point.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64point.c
new file mode 100644
index 0000000..a23cddd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64point.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64points(uint8 x,uint8 y,uint8 colour){
+ lcd128x64point(x,y,colour);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64putchar.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64putchar.c
new file mode 100644
index 0000000..2dadb44
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64putchar.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64putchars(uint8 x, uint8 y, uint8 c, uint8 bgCol, uint8 fgCol){
+ lcd128x64putchar(x,y,c,bgCol,fgCol);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64puts.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64puts.c
new file mode 100644
index 0000000..15c54da
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64puts.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64putss(uint8 x, uint8 y, char* str,int size, uint8 bgCol, uint8 fgCol){
+ lcd128x64puts(x,y,str,bgCol,fgCol);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c
new file mode 100644
index 0000000..78239d9
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64rectangle.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64rectangles(uint8 x1,uint8 y1,uint8 x2,uint8 y2,uint8 colour,uint8 filled){
+ lcd128x64rectangle(x1,y1,x2,y2,colour,filled);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c
new file mode 100644
index 0000000..c4b1939
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setOrigin.c
@@ -0,0 +1,17 @@
+/* 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
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+void u8RPI_lcd128x64setOrigins(uint8 x,uint8 y){
+ lcd128x64setOrigin(x,y);
+}
diff --git a/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setup.c b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setup.c
new file mode 100644
index 0000000..8f6e6b6
--- /dev/null
+++ b/src/c/hardware/rasberrypi/lcd128x64/RPI_lcd128x64setup.c
@@ -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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralLCD128x64.h"
+
+int8 RPI_lcd128x64setup(){
+ int8 out;
+ out=lcd128x64setup();
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c
new file mode 100644
index 0000000..c7d7326
--- /dev/null
+++ b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralMcp.h"
+
+uint8 u16RPI_mcp23008Setups(uint16 pinBase,uint8 addr){
+ uint8 out;
+ out=mcp23008Setup(pinBase,addr);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c
new file mode 100644
index 0000000..2e35e5c
--- /dev/null
+++ b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralMcp.h"
+
+uint8 u16RPI_mcp23016Setups(uint16 pinBase,uint8 addr){
+ uint8 out;
+ out=mcp23016Setup(pinBase,addr);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c
new file mode 100644
index 0000000..35ed547
--- /dev/null
+++ b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralMcp.h"
+
+uint8 u16RPI_mcp23017Setups(uint16 pinBase,uint8 addr){
+ uint8 out;
+ out=mcp23017Setup(pinBase,addr);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c
new file mode 100644
index 0000000..e1bdab6
--- /dev/null
+++ b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralMcp.h"
+
+uint8 u16RPI_mcp23s08Setups(uint16 pinBase,uint8 spiport,uint8 devId){
+ uint8 out;
+ out=mcp23s08Setup(pinBase,spiport,devId);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c
new file mode 100644
index 0000000..5ba30d2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralMcp.h"
+
+uint8 u16RPI_mcp23s17Setups(uint16 pinBase,uint8 spiport,uint8 devId){
+ uint8 out;
+ out=mcp23s17Setup(pinBase,spiport,devId);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c b/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c
new file mode 100644
index 0000000..f7e38df
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPcf.h"
+
+uint8 u16RPI_pcf8574Setups(uint16 pinBase,uint8 addr){
+ uint8 out;
+ out=pcf8574Setup(pinBase,addr);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c b/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c
new file mode 100644
index 0000000..de26a92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPcf.h"
+
+uint8 u16RPI_pcf8591Setups(uint16 pinBase,uint8 addr){
+ uint8 out;
+ out=pcf8591Setup(pinBase,addr);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c
new file mode 100644
index 0000000..792cda1
--- /dev/null
+++ b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPiGlow.h"
+
+void u8RPI_piGlow1s(uint8 leg,uint8 ring,uint8 intensity){
+ piGlow1(leg,ring,intensity);
+}
diff --git a/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c
new file mode 100644
index 0000000..f4ef5b5
--- /dev/null
+++ b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPiGlow.h"
+
+void u8RPI_piGlowLegs(uint8 leg,uint8 intensity){
+ piGlowLeg(leg,intensity);
+}
diff --git a/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c
new file mode 100644
index 0000000..985696d
--- /dev/null
+++ b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPiGlow.h"
+
+void u8RPI_piGlowRings(uint8 ring,uint8 intensity){
+ piGlowRing(ring,intensity);
+}
diff --git a/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c
new file mode 100644
index 0000000..2037a9b
--- /dev/null
+++ b/src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPiGlow.h"
+
+void u8RPI_piGlowSetups(uint8 clear){
+ piGlowSetup(clear);
+}
diff --git a/src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c b/src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c
new file mode 100644
index 0000000..09a5713
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPinMap.h"
+
+int8 u8RPI_physToGpios(uint8 pin){
+ int8 out;
+ out=physPinToGpio(pin);
+ return (pin);
+}
diff --git a/src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c b/src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c
new file mode 100644
index 0000000..5f65f34
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPinMap.h"
+
+int8 u8RPI_wpiToGpios(uint8 pin){
+ int8 out;
+ out=wpiPinToGpio(pin);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c b/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c
new file mode 100644
index 0000000..da67a15
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to set mode for PWM channel. Two modes are available
+ "bal" --> balanced mode
+ "ms" --> mark/space mode
+ */
+
+void gRPI_pwmModea(char* mode,int size){
+ if (mode[0] == 'm') /*mark/space mode*/
+ pwmSetMode(0);
+ else if (mode[0] == 'b')
+ pwmSetMode(1);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c b/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c
new file mode 100644
index 0000000..85e1fb2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to set clock for pwm channel. Default clock is 19.2 MHz. 'clk_divisor'
+ along with range decides frequency for PWM
+ PWM frequency = 19.2 MHz / clk_divisor/ range
+ Range for clk_divisor = 1-2048
+*/
+
+void u16RPI_pwmClocks(uint16 divisor){
+ pwmSetClock(divisor);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c b/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c
new file mode 100644
index 0000000..1fb2296
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to assign pwm duty to specified pin. PWM duty is decided by 'value'
+ and 'range' specified using corresponding function.
+ PWM duty = value/range
+ */
+
+void u32RPI_pwmRanges(uint32 value){
+ pwmSetRange(value);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
deleted file mode 100644
index d06b135..0000000
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/*Function to set clock for pwm channel. Default clock is 19.2 MHz. 'clk_divisor'
- along with range decides frequency for PWM
- PWM frequency = 19.2 MHz / clk_divisor/ range
- Range for clk_divisor = 1-2048
- */
-
-#include "types.h"
-#include "RPIPeripheralPWM.h"
-
-void u8RPIHardPWMSetClocks(uint16 clk_divisor)
-{
- pwmSetClock(clk_divisor);
-
-
-}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
deleted file mode 100644
index 0cca7a7..0000000
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/*Function to set mode for PWM channel. Two modes are available
- 0 --> balanced mode
- 1 --> mark/space mode
- */
-
-#include "types.h"
-#include "RPIPeripheralPWM.h"
-
-void u8RPIHardPWMSetModes(uint8 mode)
-{
- if (mode == 1) /*mark/space mode*/
- pwmSetMode(PWM_MODE_MS);
- else
- pwmSetMode(PWM_MODE_BAL);
-
-}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
deleted file mode 100644
index b2489f5..0000000
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/*Function to assigne pwm duty to specified pin. PWM duty is decided by 'value'
- and 'range' specified using corresponding function.
- PWM duty = value/range
- */
-
-#include "types.h"
-#include "RPIPeripheralPWM.h"
-
-void u8RPIHardPWMSetRanges(uint16 value)
-{
- pwmSetRange(value);
-
-}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
deleted file mode 100644
index ae02bf0..0000000
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/*Function to set range for pwm channel. PWM duty is decided by 'range'
- and 'value' specified using corresponding function.
- PWM duty = value/range
- */
-
-#include "types.h"
-#include "RPIPeripheralPWM.h"
-#include "RPIPeripheralDigital.h"
-
-void u8RPIHardPWMWrites(uint8 pin, uint16 value)
-{
- pwmWrite((int)phy_pin[pin-1], value);
-
-}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c
new file mode 100644
index 0000000..fe1b8cd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c
@@ -0,0 +1,17 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+void u8RPI_pwmToneWrites(uint8 pin, uint16 value){
+ pwmToneWrite(pin, value);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c
new file mode 100644
index 0000000..be94e73
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c
@@ -0,0 +1,19 @@
+/* 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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to write the given value to the pwm pin*/
+
+void u8RPI_pwmWrites(uint8 pin, uint16 value){
+ pwmWrite(pin, value);
+}
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
deleted file mode 100644
index f990255..0000000
--- a/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send double data array/matrix on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void dRPISerialSendDataa(int fd, double* data, int size)
-{
- int count = 0;
-
- for (count = 0; count < size; count++)
- {
- dRPISerialSendDatas(fd, data[count]);
- }
-
-}
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
deleted file mode 100644
index 39112fc..0000000
--- a/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send double data on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void dRPISerialSendDatas(int fd, double data)
-{
- uint8 count;
-
- union double_bytes{
- double double_data;
- unsigned char bytes[sizeof(double)];
- } in_data;
-
- in_data.double_data = data;
-
- for(count=0; count>8));
-
-}
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
deleted file mode 100644
index c4dd199..0000000
--- a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send signed 8-bit byte array/matrix on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void i8RPISerialSendDataa(int fd, int8* data, int size)
-{
- int count = 0;
-
- for (count = 0; count < size; ++count)
- {
- i8RPISerialSendDatas(fd, data[count]);
- }
-}
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
deleted file mode 100644
index e637871..0000000
--- a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send signed 8-bit byte on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void i8RPISerialSendDatas(int fd, int8 data)
-{
- serialPutchar(fd, (uint8) data);
-
-}
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
deleted file mode 100644
index 14c0bc7..0000000
--- a/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send float data array/matrix on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void sRPISerialSendDataa(int fd, float* data, int size)
-{
- int count = 0;
-
- for (count = 0; count < size; ++count)
- {
- sRPISerialSendDatas(fd, data[count]);
- }
-
-}
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
deleted file mode 100644
index ff78dd1..0000000
--- a/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send float data on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void sRPISerialSendDatas(int fd, float data)
-{
- uint8 count;
-
- union float_bytes{
- float float_data;
- unsigned char bytes[sizeof(float)];
- } in_data;
- in_data.float_data = data;
-
- for(count=0; count>8));
-}
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c b/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
deleted file mode 100644
index cde4cba..0000000
--- a/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to setup port with desired baud rate. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-int u16RPISerialSetups(char* port, int baudrate)
-{
- int fd;
-
- fd = serialOpen (port, baudrate);
-
- return fd;
-}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c b/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
deleted file mode 100644
index 5162d15..0000000
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to close serial port opened. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void u8RPISerialCloses(int fd)
-{
- serialClose (fd);
-}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c b/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
deleted file mode 100644
index c80a92c..0000000
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to discards data serial buffer (received as well as waiting to be sent */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void u8RPISerialFlushs(int fd)
-{
- serialFlush(fd);
-}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
deleted file mode 100644
index e381351..0000000
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send 8-bit char on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void u8RPISerialSendChars(int fd, uint8 data)
-{
- serialPutchar(fd, data);
-}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
deleted file mode 100644
index 9d09714..0000000
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send unsigned 8-bit byte array/matrix on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void u8RPISerialSendDataa(int fd, uint8* data, int size)
-{
- int count = 0;
-
- for (count = 0; count < size; ++count)
- {
- u8RPISerialSendDatas(fd, data[count]);
- }
-
-}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
deleted file mode 100644
index 9edb439..0000000
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to send unsigned 8-bit byte on specified serial port. */
-
-#include "types.h"
-#include "RPIPeripheralSerial.h"
-
-void u8RPISerialSendDatas(int fd, uint8 data)
-{
- serialPutchar(fd, data);
-
-}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c
new file mode 100644
index 0000000..d697779
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+uint8 u8RPI_softPwmCreates(uint8 pin,uint16 ival,uint16 range){
+ uint8 out;
+ out=softPwmCreate(pin,ival,range);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c
new file mode 100644
index 0000000..761fdc2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+void u8RPI_softPwmStops(uint8 pin){
+ softPwmStop(pin);
+}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c
new file mode 100644
index 0000000..2b76d14
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+void u8RPI_softPwmWrites(uint8 pin,uint16 value){
+ softPwmWrite(pin,value);
+}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c b/src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c
new file mode 100644
index 0000000..dfcbb1f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c
@@ -0,0 +1,19 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+uint8 u8RPI_softToneCreates(uint8 pin){
+ uint8 out;
+ out=softToneCreate(pin);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c b/src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c
new file mode 100644
index 0000000..664fbda
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+void u8RPI_softToneStops(uint8 pin){
+ softToneStop(pin);
+}
diff --git a/src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c b/src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c
new file mode 100644
index 0000000..be04b47
--- /dev/null
+++ b/src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c
@@ -0,0 +1,17 @@
+/* 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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSoft.h"
+
+void u8RPI_softToneWrites(uint8 pin,uint32 value){
+ softToneWrite(pin,value);
+}
diff --git a/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c b/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
deleted file mode 100644
index c05c959..0000000
--- a/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to create thread for given function */
-
-#include "types.h"
-#include "RPIPeripheralThreading.h"
-
-uint16 RPIThreadCreate(void *(*threadFunction)(void*))
-{
- int status;
- status = piThreadCreate (threadFunction);
- return status;
-}
-
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c b/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
deleted file mode 100644
index 9aeeab7..0000000
--- a/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to insert some delay in code execution. */
-
-#include "types.h"
-#include "RPIPeripheralTiming.h"
-
-void u16RPIDelayMicros(uint16 time)
-{
- delayMicroseconds(time);
-}
-
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c b/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
deleted file mode 100644
index 2679086..0000000
--- a/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to insert some delay in code execution. */
-
-
-
-#include "types.h"
-#include "RPIPeripheralTiming.h"
-
-void u16RPIDelayMillis(uint16 time)
-{
- delay(time);
-
-}
-
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c b/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
deleted file mode 100644
index eb086a9..0000000
--- a/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to get time in microsecond since first setup function called */
-
-#include "types.h"
-#include "RPIPeripheralTiming.h"
-
-uint32 u32RPIGetMicros()
-{
- return(micros());
-}
\ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c b/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
deleted file mode 100644
index c118975..0000000
--- a/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* 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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* Function to get time in millisecond since first setup function called */
-
-#include "types.h"
-#include "RPIPeripheralTiming.h"
-
-uint32 u32RPIGetMillis()
-{
- return(millis());
-}
\ No newline at end of file
diff --git a/src/c/interpolation/includes/interp1.h b/src/c/interpolation/includes/interp1.h
new file mode 100644
index 0000000..738bfe6
--- /dev/null
+++ b/src/c/interpolation/includes/interp1.h
@@ -0,0 +1,32 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INTERP1_H__
+#define __INTERP1_H__
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+//void dinterp13a(double *x,double *fx,double *q,int size,double *out);
+void dinterp13a(double *x,int size1,double *fx,int size2,double *q,int size3,char *a,int size4,double *out);
+
+void sinterp13a(float *x,int size1,float *fx,int size2,float *q,int size3,char *a,int size4,float *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/interpolation/interfaces/int_interp1.h b/src/c/interpolation/interfaces/int_interp1.h
new file mode 100644
index 0000000..07d8ece
--- /dev/null
+++ b/src/c/interpolation/interfaces/int_interp1.h
@@ -0,0 +1,32 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+
+#ifndef __INT_INTERP1_H__
+#define __INT_INTERP1_H__
+
+#include "interp1.h"
+#include
+
+#define d2d2d2interp1d2(x,size1,fx,size2,q,size3,out) dinterp13a(x,size1[0]*size1[1],fx,size2[0]*size2[1],q,size3[0]*size3[1],"linear",6,out)
+
+#define d2d2d2g2interp1d2(x,size1,fx,size2,q,size3,ch,size4,out) dinterp13a(x,size1[0]*size1[1],fx,size2[0]*size2[1],q,size3[0]*size3[1],ch,size4[0]*size4[1],out)
+
+#define s2s2s2interp1s2(x,size1,fx,size2,q,size3,out) sinterp13a(x,size1[0]*size1[1],fx,size2[0]*size2[1],q,size3[0]*size3[1],"linear",6,out)
+
+#define s2s2s2g2interp1s2(x,size1,fx,size2,q,size3,ch,size4,out) sinterp13a(x,size1[0]*size1[1],fx,size2[0]*size2[1],q,size3[0]*size3[1],ch,size4[0]*size4[1],out)
+
+
+#endif
+
diff --git a/src/c/interpolation/interp1/dinterp13a.c b/src/c/interpolation/interp1/dinterp13a.c
new file mode 100644
index 0000000..7b755e1
--- /dev/null
+++ b/src/c/interpolation/interp1/dinterp13a.c
@@ -0,0 +1,75 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "interp1.h"
+#include
+
+void dinterp13a(double *x,int size1,double *fx,int size2,double *q,int size3,char *ch,int size4,double *out)
+{
+ int i,j,k,f;
+ double a,b;
+ if(strcmp(ch,"linear")==0)
+ {
+ for(i=0;ix[j])
+ {
+ j++;
+ }
+ a=x[j-1];
+ b=x[j];
+ out[i]=fx[j-1]+(q[i]-a)*((fx[j]-fx[j-1])/(b-a));
+ }
+ }
+ }
+ else if(strcmp(ch,"nearest")==0)
+ {
+ for(i=0;ix[j])
+ {
+ j++;
+ }
+ out[i]=fx[j];
+ }
+ }
+ }
+}
+
+
diff --git a/src/c/interpolation/interp1/sinterp13a.c b/src/c/interpolation/interp1/sinterp13a.c
new file mode 100644
index 0000000..b8cb085
--- /dev/null
+++ b/src/c/interpolation/interp1/sinterp13a.c
@@ -0,0 +1,75 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "interp1.h"
+#include
+
+void sinterp13a(float *x,int size1,float *fx,int size2,float *q,int size3,char *ch,int size4,float *out)
+{
+ int i,j,k,f;
+ float a,b;
+ if(strcmp(ch,"linear")==0)
+ {
+ for(i=0;ix[j])
+ {
+ j++;
+ }
+ a=x[j-1];
+ b=x[j];
+ out[i]=fx[j-1]+(q[i]-a)*((fx[j]-fx[j-1])/(b-a));
+ }
+ }
+ }
+ else if(strcmp(ch,"nearest")==0)
+ {
+ for(i=0;ix[j])
+ {
+ j++;
+ }
+ out[i]=fx[j];
+ }
+ }
+ }
+}
+
+
diff --git a/src/c/linearAlgebra/fullrf/dfullrfa.c b/src/c/linearAlgebra/fullrf/dfullrfa.c
deleted file mode 100644
index a409ae3..0000000
--- a/src/c/linearAlgebra/fullrf/dfullrfa.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* 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: Sandeep Gupta
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-
-/* FULL Rank factorization function in scilab */
-
-/*
- //[Q,M,rk]=fullrf(A)
- //Full rank factorization : A=Q.M
- //with range(Q)=range(A) and ker(M)=ker(A),
- //Q full column rank , M full row rank
- // rk = rank(A) = #columns(Q) = #rows(M)
- //F.D.
-*/
-
-#include "fullrf.h"
-#include
-#include
-#include "svd.h"
-#include
-#include "norm.h"
-#include "matrixTranspose.h"
-#include "matrixMultiplication.h"
-
-double dfullrfa(int ninp,double *inp1,int row,int col,double tol,double *out1,double *out2){
-
- int i,j;
- /* norm inp1 - norm(inp1,1)*/
- double na1;
- na1 = dnorma(inp1,row,col,1);
-
- if(ninp == 1){
- tol = sqrt(pow(2,-52));
- }
-
- if(na1 < pow(1,-10)){
- out1 = NULL;
- out2 = NULL;
- return 0;
- }
-
- double tol1;
- tol1 = tol*na1;
-
- double *U,*S,*V;
- U = (double *)malloc(row*row*sizeof(double));
- S = (double *)malloc(row*col*sizeof(double));
- V = (double *)malloc(col*col*sizeof(double));
-
- double rk;
- rk = dsvda(tol1,inp1,row,col,0,4,U,S,V);
-
- /* sq = sqrt(s) */
- for(i=0;i
-#include
-#include "norm.h"
-
-/* All variable names are according to scilab code */
-
-void dgivensa(int ninp,double *inp1,int row,int col,double *inp2,int row1,int col1,int nout,double *out1,double *out2){
- double *x;
- double r;
- x = (double *)malloc((double)2*sizeof(double));
- if(ninp == 2){
- if(row != 1 || col != 1 || row1 != 1 || col1 != 1){
- printf("Wrong size for input argument: A column vector expected.\n");
- return;
- }
- *(x) = *(inp1);
- *(x+1) = *(inp2);
- }
- else{
- //printf("(%d %d)",row,col);
- if(row != 2 || col != 1){
- printf("Wrong size for input argument: A column vector expected.\n");
- return;
- }
- //printf("(%lf %lf)",inp1[0],inp1[1]);
- x[0] = inp1[0];
- x[1] = inp1[1];
- }
- if(*(x+1) != 0){
- //printf("(%lf %lf)",x[0],x[1]);
- /*Norm of type 2 - find the maximum singular value*/
- r = dnorma(x,2,1,2);
- //printf("%lf \n",r);
- *(out1) = (*(x))/r;
- *(out1+1) = -(*(x+1))/r;
- *(out1+2) = (*(x+1))/r;
- *(out1+3) = (*(x))/r;
- if(nout == 2){
- *(out2) = r;
- *(out2+1) = 0;
- }
-
- }
- else{
- *(out1) = 1;
- *(out1+1) = 0;
- *(out1+2) = 1;
- *(out1+3) = 0;
- if(nout == 2){
- *(out2) = *(x);
- *(out2+1) = *(x+1);
- }
- }
-}
diff --git a/src/c/linearAlgebra/hess/dhessa.c b/src/c/linearAlgebra/hess/dhessa.c
index e1f2e2d..57f81b3 100644
--- a/src/c/linearAlgebra/hess/dhessa.c
+++ b/src/c/linearAlgebra/hess/dhessa.c
@@ -20,13 +20,11 @@
#include "matrixTranspose.h"
#include "matrixMultiplication.h"
-/* Lapack subroutines - which are used*/
extern int dgehrd_(int *, int *,int *,double *,int *,double *,double *,int *,int *);
extern int dorghr_(int *, int *,int *,double *,int *,double *,double *,int *,int *);
-/* All the vairbale names are given exactly the same name as scilab source code */
+
void dhessa(double *in1,int size,int nout,double *out1, double *out2){
-/* Variables names are done through, Lapack library. */
int i,j,k;
int N = size;
int ILO=1;
@@ -43,11 +41,11 @@ void dhessa(double *in1,int size,int nout,double *out1, double *out2){
WORK = (double *)malloc((double)LWORK*sizeof(double));
dgehrd_(&N,&ILO,&IHI,A,&LDA,TAU,WORK,&N,&INFO);
- for(i=0;i
-#include
-#include "householder.h"
-#include "eye.h"
-#include "matrixTranspose.h"
-#include "matrixMultiplication.h"
-#include
-#include "norm.h"
-
-void dhouseholdera(int ninp,double *inp1,int row,double *inp2,double *out1){
-
- int i,j;
- double *x;
- x = (double *)malloc(row*sizeof(double));
-
- for(i=0;i
-#include
-#include "proj.h"
-#include "eye.h"
-#include "matrixTranspose.h"
-#include "matrixMultiplication.h"
-#include
-#include "norm.h"
-
-
-double dproja(double *x1,int l,int k,double *x2,int m2,int n2,double *y){
- int i,j;
- double *w;
- w = (double *)malloc(l*l*sizeof(double));
- double rk;
- rk = drowcompa(1,x1,l,k,NULL,0,w);
-
- double *w1;
- w1 = (double *)malloc(rk*l*sizeof(double));
-
- for(i=0;i
-#include
-#include
-#include "norm.h"
-#include "eye.h"
-
-#define eps pow(2,-52)
-
-double dprojspeca(double *inp1,int row,int col,double *out1,double *out2,double *out3){
- double tol = pow(10,-6);
- int i,j,index;
- /*norm(A,1)*/
- double nor;
- nor = dnorma(inp1,row,col,1);
-
- /* P=eye(A),D=A,S=0*P;index=1; */
- if(nor < eps*row*row){
- memcpy(out2,inp1,row*col*sizeof(double));
- deyea(out2,row,col);
- memcpy(out3,inp1,row*col*sizeof(double));
- for(i=0;i tol){
- dinverma(inp1,out1,row);
- for(i=0;i
-#include
-#include
-#include "qr.h"
-#include "lapack.h"
-#include "string.h"
-#include "matrixTranspose.h"
-
-/*For reference check Scilab source code & lapack library websites
-Names of variable are almost same for convience.
-*/
-/*
-int min(int M,int N){
- if(M > N) return N;
- return M;
-}
-
-int max(int M,int N){
- if(M > N) return N;
- return N;
-}*/
-
-/* External Function used of lapack library */
-extern double dgeqrf_(int *,int *,double *,int *,double *,double *,int *,int *);
-extern double dlacpy_(char *,int *,int *,double *,int *,double *,int *);
-extern double dgeqpf_(int *,int *,double *,int *,int *,double *,double *,int *);
-extern double dorgqr_(int *,int *,int *,double *,int *,double *,double *,int *,int *);
-extern void dlaset_(char *,int *,int *,double *,double *,double *,int *);
-
-/* function for finding qr */
-double dqra(int ninp,int nout,double *inp1,int M,int N,double tol,double *out1,double *out2,double *out3){
- int i,j;
- char choice;
- double alpha=0.0,beta=0.0;
- int minMN = min(M,N);
-
- double *A;
- A = (double *)malloc(M*N*sizeof(double));
- memcpy(A,inp1,M*N*sizeof(double));
-
- if(M <= 0 || N <= 0){
- out1 = NULL;
- out2 = NULL;
- return 0;
- }
- /* doldqr */
- if(nout == 4){ /* [Q,R,rk,E]=qr(X [,tol]) */
- if(ninp == 1){
- tol = -1;
- }
-
- int INFO,rk;
-
- int *JPVT;
- JPVT = ( int *)malloc(N*sizeof(int));
-
- double *TAU;
- TAU = (double *)malloc(minMN*sizeof(double));
-
- int LWORK = 3*N;
-
- double *WORK;
- WORK = (double *)malloc(LWORK*sizeof(double));
-
- for(i=1;i<=M;i++){
- JPVT[i-1]=0.0;
- }
- dgeqpf_(&M,&N,A,&M,JPVT,TAU,WORK,&INFO);
-
- choice = 'U';
- dlacpy_(&choice,&M,&N,A,&M,out2,&M);
-
- if(M > N){
- for(j=1;j<=N;j++){
- for(i=j+1;i<=M;i++){
- out2[i-1+(j-1)*M] = 0.0;
- }
- }
- }
- else{
- for(j=1;j<=M-1;j++){
- for(i=j+1;i<=M;i++){
- out2[i-1+(j-1)*M] = 0.0;
- }
- }
- }
-
- if(M > N){
- choice = 'F';
- dlacpy_(&choice,&M,&N,A,&M,out1,&M);
- for(j=N+1;j<=M;j++){
- for(i=1;i<=M;i++){
- out1[i-1+(j-1)*M] = 0.0;
- }
- }
- }
- else{
- choice = 'F';
- dlacpy_(&choice,&M,&M,A,&M,out1,&M);
- }
-
- dorgqr_(&M,&M,&minMN,out1,&M,TAU,WORK,&LWORK,&INFO);
-
- choice = 'F';
- dlaset_(&choice,&N,&N,&alpha,&beta,out3,&N);
-
- for(j=1;j<=N;j++){
- i = JPVT[j-1];
- out3[i-1+(j-1)*N] = 1.0;
- }
-
- double tt = abs(out2[0]);
-
- if(tol == -1){
- tol = (double)max(M,N)*pow(2,-52)*tt;
- }
- double ch;
- //printf("%lf ",tol);
- for(j=1;j<=minMN;j++){
- //printf("%e ",out2[(j-1)+(j-1)*M]);
- if(out2[(j-1)+(j-1)*M] < 0){
- ch = -out2[(j-1)+(j-1)*M];
- }
- else{
- ch = out2[(j-1)+(j-1)*M];
- }
- if(ch > tol){
- rk = j;
- }
- else{
- break;
- }
- }
- //printf("\n");
- return rk;
- }
- else if(ninp == 1){
- /* (intdgeqpf3)
- [Q,R]=qr(A)
- [Q,R,E]=qr(A)
- */
- int LDA = M;
-
- double *TAU;
- TAU = (double *)malloc(min(M,N)*sizeof(double));
-
- int LWORK;
- if(nout <= 2)
- LWORK = N;
- else
- LWORK = 3*N;
-
- double *WORK;
- WORK = (double *)malloc((LWORK+1)*sizeof(double));
-
- int INFO;
-
- int *JPVT;
- JPVT = (int *)malloc(N*sizeof(int));
-
- if(nout <= 2){
- dgeqrf_(&M,&N,A,&M,TAU,WORK,&LWORK,&INFO);
- }
- else{
- for(i=0;i N){
- for(j=1;j<=N;j++){
- for(i=j+1;i<=M;i++){
- out2[i-1+(j-1)*M] = 0.0;
- }
- }
- }
- else{
- for(j=1;j<=M-1;j++){
- for(i=j+1;i<=M;i++){
- out2[i-1+(j-1)*M] = 0.0;
- }
- }
- }
- /* lQ - out1 */
- if(M > N){
- choice = 'F';
- dlacpy_(&choice,&M,&N,A,&M,out1,&M);
- /*for(i=0;i 2){
- choice = 'F';
- dlaset_(&choice,&N,&N,&alpha,&beta,out3,&N);
- for(j=1;j<=N;j++){
- i = *(JPVT+j-1);
- //printf("%d ",i-1+(j-1)*N);
- *(out3+i-1+(j-1)*N) = 1.0;
- }
- //printf("\n");
- }
- }
- else{/*
- [[Q,R]=qr(A,'e')
- [Q,R,E]=qr(A,'e') ] */
- int *JPVT;
- JPVT = (int *)malloc(N*sizeof(int));
-
- double *TAU;
- TAU = (double *)malloc(min(M,N)*sizeof(double));
- int LWORK;
- if(nout <= 2){
- LWORK = N;
- }
- else{
- LWORK = 3*N;
- }
-
- double *WORK;
- WORK = (double *)malloc(LWORK*sizeof(double));
-
- int INFO;
- if(nout <= 2)
- dgeqrf_(&M,&N,A,&M,TAU,WORK,&LWORK,&INFO);
- else{
- for(i=1;i<=N;i++){
- JPVT[i-1]=0.0;
- }
- dgeqpf_(&M,&N,A,&M,JPVT,TAU,WORK,&INFO);
- }
- choice = 'U';
-
- dlacpy_(&choice,&minMN,&N,A,&M,out2,&minMN);
-
- if(N >= 2){
- for(j=1;j<=N-1;j++){
- if(j+1 <= minMN){
- for(i=j+1;i<=minMN;i++){
- out2[i-1+(j-1)*minMN] = 0.0;
- }
- }
- }
- }
- choice = 'F';
- dlacpy_(&choice,&M,&minMN,A,&M,out1,&M);
- dorgqr_(&M,&minMN,&minMN,out1,&M,TAU,WORK,&LWORK,&INFO);
-
- if(nout > 2){
- choice = 'F';
- dlaset_(&choice,&N,&N,&alpha,&beta,out3,&N);
- for(j=1;j<=N;j++){
- i = JPVT[j-1];
- out3[i-1+(j-1)*N] = 1.0;
- }
- }
- }
- return 0;
-}
diff --git a/src/c/linearAlgebra/rowcomp/drowcompa.c b/src/c/linearAlgebra/rowcomp/drowcompa.c
deleted file mode 100644
index 3161a2d..0000000
--- a/src/c/linearAlgebra/rowcomp/drowcompa.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* 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: Sandeep Gupta
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-
-/* This function is used to find row compression, range */
-
-#include "rowcomp.h"
-#include
-#include
-#include
-#include "svd.h"
-#include "norm.h"
-#include "eye.h"
-#include "matrixTranspose.h"
-#include "qr.h"
-
-/* All variable names, are in consideration of scilab documentation. for reference please check the scilab code.*/
-
-double drowcompa(int ninp,double *A,int row,int col,char *flag,double tol,double *w){
- double rk;
- double *U;
- double *S;
- double *V;
- double *q,*r,*e;
- if(row == 0 || col == 0){
- w = NULL;
- return 0;
- }
-
- double nA1 = dnorma(A,row,col,1);
- if(nA1 < sqrt(pow(2,-52))/10){
- deyea(w,row,col);
- return 0;
- }
- if(ninp == 1){
- flag = "svd";
- tol = sqrt(pow(2,-52))*nA1;
- }
- else if(ninp == 2){
- tol = sqrt(pow(2,-52))*nA1;
- }
- else{
- if(tol < 0){ /* if tolerance is negative */
- printf(" Wrong values for input argument #: Non-negative scalar expected");
- }
- }
- int M = row,N=col;
- int minMN = min(M,N);
- char check[3]="qr";
- //printf(" %s ",flag);
- if(strcmp(check,flag) == 0){
- /* calling qr function*/
- //printf(" * ");
- q = (double *)malloc(M*min(M,N)*sizeof(double));
- r = (double *)malloc(minMN*N*sizeof(double));
- e = (double *)malloc(N*N*sizeof(double));
- rk = dqra(2,4,A,M,N,tol,q,r,e);
- memcpy(w,q,row*col*sizeof(double));
- dtransposea(q,row,row,w);
- return rk;
- }
- else{
- /* svd function type */
- U = (double *)malloc(row*row*sizeof(double));
- S = (double *)malloc(row*col*sizeof(double));
- V = (double *)malloc(col*col*sizeof(double));
- rk = dsvda(tol,A,row,col,0,4,U,S,V);
- dtransposea(U,row,row,w);
- return rk;
- }
-}
diff --git a/src/c/linearAlgebra/sqroot/dsqroota.c b/src/c/linearAlgebra/sqroot/dsqroota.c
deleted file mode 100644
index a9062e6..0000000
--- a/src/c/linearAlgebra/sqroot/dsqroota.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* 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: Sandeep Gupta
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-
-/* Function - sqroot of scilab, W*W' hermitian factorization */
-
-#include
-#include "stdlib.h"
-#include "string.h"
-#include
-#include "matrixTranspose.h"
-#include "svd.h"
-#include "matrixMultiplication.h"
-
-#define eps 2.22044604925e-16
-
-/*It would be good, if you are doing conversoins for only valid inputs before
- running the program, check all the conditions before hand.
-*/
-
-void dsqroota(double *inp,int row,int col, double *out){
- if(row != col){
- printf("Enter valid inputs only - matrix should be symetric\n");
- return;
- }
- int i,j;
- double *U,*S,*V;
- double *A,*B;
- int rk;
-
- U = (double *)malloc((double)row*row*sizeof(double));
- S = (double *)malloc((double)Min(row,col)*Min(row,col)*sizeof(double));
- V = (double *)malloc((double)col*col*sizeof(double));
- A = (double *)malloc(rk*rk*sizeof(double));
- B = (double *)malloc(rk*row*sizeof(double));
-
- double *Q1;
- Q1 = (double *)malloc(row*col*sizeof(double));
-
- dtransposea(inp,row,col,Q1);
-
- double *Q2;
- Q2 = (double *)malloc(col*row*sizeof(double));
-
- /* Q2 = (inp+inp1')/2; */
- for(i=0;i 100*%eps then */
- if(maxi > 100*eps){
- printf("Warning: Wrong size for input argument and Symmetric expected\n");
- }
- maxi = 0;
- for(i=0;i tol){
@@ -53,7 +52,7 @@ void dsvaa(int ninp,double *in1,int row,int col,double in2,double *out1, \
tol = in2;
if(tol > 1){
rk = tol;
- if(rk > Min(row,col)){
+ if(rk > min(row,col)){
printf("ERROR: Wrong value for input argument !");
out1 = NULL;
out2 = NULL;
@@ -71,21 +70,21 @@ void dsvaa(int ninp,double *in1,int row,int col,double in2,double *out1, \
}
}
arow = M;
- acol = Min(M,N); /* Copying, the output in required format */
+ acol = min(M,N);
for(i=0;i N){
@@ -165,18 +156,18 @@ void zsvda(doubleComplex *in1,int row,int col,int in2,int nout, doubleComplex *o
for(j=0;j X = A/B */
-
-#include
-#include "string.h"
-#include "stdlib.h"
-#include "lapack.h"
-#include "matrixTranspose.h"
-#include "matrixMultiplication.h"
-
-void dslasha(double *A,int m1,int n1,double *B,int m2,int n2,double *out){
- if(m1 != n1 && m1 != m2 && m2 != n2){
- return;
- }
-
- double AF;
- AF = (double *)malloc();
-
-}
diff --git a/src/c/matrixOperations/cat/ccata.c b/src/c/matrixOperations/cat/ccata.c
index a6ac6cf..cd2b4c9 100644
--- a/src/c/matrixOperations/cat/ccata.c
+++ b/src/c/matrixOperations/cat/ccata.c
@@ -26,7 +26,7 @@ void crowcata(floatComplex *in1, int lines1, int columns1, floatComplex *in2, i
{
for (j = 0 ; j < lines1 ; ++j)
{
- /*out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];*/
+ out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];
}
for (j = 0 ; j < lines2 ; ++j)
{
diff --git a/src/c/matrixOperations/cat/zcata.c b/src/c/matrixOperations/cat/zcata.c
index 455fea0..485553d 100644
--- a/src/c/matrixOperations/cat/zcata.c
+++ b/src/c/matrixOperations/cat/zcata.c
@@ -43,7 +43,7 @@ void zrowcata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2,
** A1=[1 2 3;4 5 6]; A2=[7 8 9 ;10 11 12]; y=cat(2,A1,A2) => y=[1 2 3 7 8 9 ; 4 5 6 10 11 12]
**
*/
-void zcolumncata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2, int lines2, int columns2, doubleComplex* out) {
+void zcolumncata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2, int lines2, int columns2, doubleComplex* out) {
int i = 0;
for (i = 0 ; i < lines1 * columns1 ; ++i) {
out[i] = in1[i];
diff --git a/src/c/matrixOperations/includes/spec.h b/src/c/matrixOperations/includes/spec.h
new file mode 100644
index 0000000..b7b7d35
--- /dev/null
+++ b/src/c/matrixOperations/includes/spec.h
@@ -0,0 +1,56 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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 __SPEC_H__
+#define __SPEC_H__
+
+#include "dynlib_matrixoperations.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* spec gives only the eigenvalues
+ If you want the eigenvalues and the eigenvectors, use spec2 */
+
+/* spec */
+#define sspecs(in) in
+#define dspecs(in) in
+#define cspecs(in) in
+#define zspecs(in) in
+
+EXTERN_MATOPS void sspeca(float* in, int rows, float* out);
+EXTERN_MATOPS void dspeca(double* in, int rows, double* out);
+EXTERN_MATOPS void cspeca(floatComplex* in, int rows, floatComplex* out);
+EXTERN_MATOPS void zspeca(doubleComplex* in, int rows,doubleComplex* out);
+
+
+
+/* spec2 */
+#define sspec2s(in,out) sspecs(1);*out=in;
+#define dspec2s(in,out) dspecs(1);*out=in;
+#define cspec2s(in,out) cspecs(FloatComplex(1,0));*out=FloatComplex(creals(in),cimags(in));
+#define zspec2s(in,out) zspecs(DoubleComplex(1,0));*out=DoubleComplex(zreals(in),zimags(in));
+
+EXTERN_MATOPS void sspec2a(float* in, int rows, float* eigenvalues,float* eigenvectors);
+EXTERN_MATOPS void dspec2a(double* in, int rows, double* eigenvalues,double* eigenvectors);
+EXTERN_MATOPS void cspec2a(floatComplex* in, int rows, floatComplex* eigenvalues,floatComplex* eigenvectors);
+EXTERN_MATOPS void zspec2a(doubleComplex* in, int rows,doubleComplex* eigenvalues,doubleComplex* eigenvectors);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SPEC_H__ */
diff --git a/src/c/matrixOperations/interfaces/int_spec.h b/src/c/matrixOperations/interfaces/int_spec.h
new file mode 100644
index 0000000..77ab55e
--- /dev/null
+++ b/src/c/matrixOperations/interfaces/int_spec.h
@@ -0,0 +1,71 @@
+/*
+ * 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
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_SPEC_H__
+#define __INT_SPEC_H__
+
+/* Only eigenvalues */
+
+#define s0specc0(in) FloatComplex (sspecs(in) , 0)
+
+#define d0specz0(in) DoubleComplex ( dspecs(in) , 0)
+
+#define c0specc0(in) cspecs(in)
+
+#define z0specz0(in) zspecs(in)
+
+#define s2specc2(in,size,out) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ szerosa(ZEROS,size[0],size[0]);\
+ cspeca(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0], out);\
+ }
+
+#define d2specz2(in,size,out) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(double)));\
+ dzerosa(ZEROS,size[0],size[0]);\
+ zspeca(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out);\
+ }
+
+#define c2specc2(in,size,out) cspeca(in, size[0], out)
+
+#define z2specz2(in,size,out) zspeca(in, size[0], out)
+
+/* Eigenvalues and eigenvectors */
+
+#define s0specc0c0(in,out) cspec2s(FloatComplex( in,0) ,out)
+
+#define d0specz0z0(in,out) zspec2s(DoubleComplex(in,0) ,out)
+
+#define c0specc0c0(in,out) cspec2s(in,out)
+
+#define z0specz0z0(in,out) zspec2s(in,out)
+
+#define s2specc2c2(in,size,out1,out2) {float* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ szerosa(ZEROS,size[0],size[0]);\
+ cspec2a(FloatComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
+ }
+
+#define d2specz2z2(in,size,out1,out2) {double* ZEROS;\
+ ZEROS=malloc((uint)(size[0]*size[0]*sizeof(double)));\
+ dzerosa(ZEROS,size[0],size[0]);\
+ zspec2a(DoubleComplexMatrix(in,ZEROS,size[0]*size[0]), size[0] , out1 , out2 );\
+ }
+
+
+#define c2specc2c2(in,size,out1,out2) cspec2a(in, size[0], out2, out1)
+
+#define z2specz2z2(in,size,out1,out2) zspec2a(in, size[0], out2, out1)
+
+#endif /* !__INT_SPEC_H__ */
diff --git a/src/c/matrixOperations/norm/dnorma.c b/src/c/matrixOperations/norm/dnorma.c
index 2bb9b8b..c912f85 100644
--- a/src/c/matrixOperations/norm/dnorma.c
+++ b/src/c/matrixOperations/norm/dnorma.c
@@ -6,8 +6,6 @@
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
Author: Siddhesh Wani
-
- Edited by: Sandeep Gupta
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
@@ -16,17 +14,13 @@
/*Acceptable norms are: 1, 2, 'inf', 'fro', */
#include "norm.h"
-#include "svd.h"
#include
-#include
-#include
double dnorma (double *in, int row, int col, int norm)
{
double res = 0, sum = 0;
int col_count, row_count;
- double *S;
- S = (double *)malloc(min(row,col)*sizeof(double));
+
switch (norm)
{
case 1: /*largest column sum*/
@@ -43,8 +37,6 @@ double dnorma (double *in, int row, int col, int norm)
break;
case 2: /*Largest singular value of the matrix*/
- dsvda(0,in,row,col,0,1,S,NULL,NULL);
- res = S[0];
break;
case 3: /*inf: largest row sum*/
@@ -77,4 +69,4 @@ double dnorma (double *in, int row, int col, int norm)
return res;
-}
+}
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec/Makefile.am b/src/c/matrixOperations/spec/Makefile.am
new file mode 100644
index 0000000..90dbd0a
--- /dev/null
+++ b/src/c/matrixOperations/spec/Makefile.am
@@ -0,0 +1,70 @@
+##
+## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+## Copyright (C) 2006-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
+##
+##
+
+libSpec_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes\
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes
+
+
+instdir = $(top_builddir)/lib
+
+pkglib_LTLIBRARIES = libSpec.la
+
+HEAD = ../includes/spec.h
+
+libSpec_la_SOURCES = $(HEAD) \
+ sspeca.c \
+ dspeca.c \
+ cspeca.c \
+ zspeca.c
+
+
+############
+## CHECK
+############
+
+
+check_PROGRAMS = testDoubleSpec testFloatSpec
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/fortran/blas/libsciblas.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/sign/libSign.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/matrixOperations/inversion/libMatrixInversion.la\
+ $(top_builddir)/src/c/matrixOperations/zeros/libMatrixZeros.la\
+ libSpec.la
+
+check_INCLUDES = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes\
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes
+
+testDoubleSpec_SOURCES = testDoubleSpec.c
+testDoubleSpec_LDADD = $(check_LDADD)
+testDoubleSpec_CFLAGS = $(check_INCLUDES)
+
+testFloatSpec_SOURCES = testFloatSpec.c
+testFloatSpec_LDADD = $(check_LDADD)
+testFloatSpec_CFLAGS = $(check_INCLUDES)
+
+TESTS = testDoubleSpec testFloatSpec
+
diff --git a/src/c/matrixOperations/spec/Makefile.in b/src/c/matrixOperations/spec/Makefile.in
new file mode 100644
index 0000000..9c34c9e
--- /dev/null
+++ b/src/c/matrixOperations/spec/Makefile.in
@@ -0,0 +1,755 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = testDoubleSpec$(EXEEXT) testFloatSpec$(EXEEXT)
+TESTS = testDoubleSpec$(EXEEXT) testFloatSpec$(EXEEXT)
+subdir = src/c/matrixOperations/spec
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/includes/machine.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkglibdir)"
+LTLIBRARIES = $(pkglib_LTLIBRARIES)
+libSpec_la_LIBADD =
+am__objects_1 =
+am_libSpec_la_OBJECTS = $(am__objects_1) libSpec_la-sspeca.lo \
+ libSpec_la-dspeca.lo libSpec_la-cspeca.lo libSpec_la-zspeca.lo
+libSpec_la_OBJECTS = $(am_libSpec_la_OBJECTS)
+libSpec_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libSpec_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleSpec_OBJECTS = testDoubleSpec-testDoubleSpec.$(OBJEXT)
+testDoubleSpec_OBJECTS = $(am_testDoubleSpec_OBJECTS)
+testDoubleSpec_DEPENDENCIES = $(check_LDADD)
+testDoubleSpec_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleSpec_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatSpec_OBJECTS = testFloatSpec-testFloatSpec.$(OBJEXT)
+testFloatSpec_OBJECTS = $(am_testFloatSpec_OBJECTS)
+testFloatSpec_DEPENDENCIES = $(check_LDADD)
+testFloatSpec_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatSpec_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/includes
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libSpec_la_SOURCES) $(testDoubleSpec_SOURCES) \
+ $(testFloatSpec_SOURCES)
+DIST_SOURCES = $(libSpec_la_SOURCES) $(testDoubleSpec_SOURCES) \
+ $(testFloatSpec_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBMATH = @LIBMATH@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+libSpec_la_CFLAGS = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes\
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes
+
+instdir = $(top_builddir)/lib
+pkglib_LTLIBRARIES = libSpec.la
+HEAD = ../includes/spec.h
+libSpec_la_SOURCES = $(HEAD) \
+ sspeca.c \
+ dspeca.c \
+ cspeca.c \
+ zspeca.c
+
+check_LDADD = $(top_builddir)/src/c/type/libDoubleComplex.la \
+ $(top_builddir)/src/c/type/libFloatComplex.la \
+ $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \
+ $(top_builddir)/src/fortran/lapack/libscilapack.la \
+ $(top_builddir)/src/fortran/blas/libsciblas.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/conj/libConj.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/sign/libSign.la \
+ $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \
+ $(top_builddir)/src/c/operations/addition/libAddition.la \
+ $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \
+ $(top_builddir)/src/c/matrixOperations/inversion/libMatrixInversion.la\
+ $(top_builddir)/src/c/matrixOperations/zeros/libMatrixZeros.la\
+ libSpec.la
+
+check_INCLUDES = -I $(top_builddir)/src/c/type \
+ -I $(top_builddir)/src/c/matrixOperations/includes \
+ -I $(top_builddir)/src/c/operations/includes \
+ -I $(top_builddir)/src/c/elementaryFunctions/includes\
+ -I $(top_builddir)/src/c/auxiliaryFunctions/includes
+
+testDoubleSpec_SOURCES = testDoubleSpec.c
+testDoubleSpec_LDADD = $(check_LDADD)
+testDoubleSpec_CFLAGS = $(check_INCLUDES)
+testFloatSpec_SOURCES = testFloatSpec.c
+testFloatSpec_LDADD = $(check_LDADD)
+testFloatSpec_CFLAGS = $(check_INCLUDES)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/c/matrixOperations/spec/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/matrixOperations/spec/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libSpec.la: $(libSpec_la_OBJECTS) $(libSpec_la_DEPENDENCIES)
+ $(libSpec_la_LINK) -rpath $(pkglibdir) $(libSpec_la_OBJECTS) $(libSpec_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+testDoubleSpec$(EXEEXT): $(testDoubleSpec_OBJECTS) $(testDoubleSpec_DEPENDENCIES)
+ @rm -f testDoubleSpec$(EXEEXT)
+ $(testDoubleSpec_LINK) $(testDoubleSpec_OBJECTS) $(testDoubleSpec_LDADD) $(LIBS)
+testFloatSpec$(EXEEXT): $(testFloatSpec_OBJECTS) $(testFloatSpec_DEPENDENCIES)
+ @rm -f testFloatSpec$(EXEEXT)
+ $(testFloatSpec_LINK) $(testFloatSpec_OBJECTS) $(testFloatSpec_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec_la-cspeca.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec_la-dspeca.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec_la-sspeca.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec_la-zspeca.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleSpec-testDoubleSpec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatSpec-testFloatSpec.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libSpec_la-sspeca.lo: sspeca.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -MT libSpec_la-sspeca.lo -MD -MP -MF $(DEPDIR)/libSpec_la-sspeca.Tpo -c -o libSpec_la-sspeca.lo `test -f 'sspeca.c' || echo '$(srcdir)/'`sspeca.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec_la-sspeca.Tpo $(DEPDIR)/libSpec_la-sspeca.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sspeca.c' object='libSpec_la-sspeca.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -c -o libSpec_la-sspeca.lo `test -f 'sspeca.c' || echo '$(srcdir)/'`sspeca.c
+
+libSpec_la-dspeca.lo: dspeca.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -MT libSpec_la-dspeca.lo -MD -MP -MF $(DEPDIR)/libSpec_la-dspeca.Tpo -c -o libSpec_la-dspeca.lo `test -f 'dspeca.c' || echo '$(srcdir)/'`dspeca.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec_la-dspeca.Tpo $(DEPDIR)/libSpec_la-dspeca.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dspeca.c' object='libSpec_la-dspeca.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -c -o libSpec_la-dspeca.lo `test -f 'dspeca.c' || echo '$(srcdir)/'`dspeca.c
+
+libSpec_la-cspeca.lo: cspeca.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -MT libSpec_la-cspeca.lo -MD -MP -MF $(DEPDIR)/libSpec_la-cspeca.Tpo -c -o libSpec_la-cspeca.lo `test -f 'cspeca.c' || echo '$(srcdir)/'`cspeca.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec_la-cspeca.Tpo $(DEPDIR)/libSpec_la-cspeca.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cspeca.c' object='libSpec_la-cspeca.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -c -o libSpec_la-cspeca.lo `test -f 'cspeca.c' || echo '$(srcdir)/'`cspeca.c
+
+libSpec_la-zspeca.lo: zspeca.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -MT libSpec_la-zspeca.lo -MD -MP -MF $(DEPDIR)/libSpec_la-zspeca.Tpo -c -o libSpec_la-zspeca.lo `test -f 'zspeca.c' || echo '$(srcdir)/'`zspeca.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec_la-zspeca.Tpo $(DEPDIR)/libSpec_la-zspeca.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zspeca.c' object='libSpec_la-zspeca.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec_la_CFLAGS) $(CFLAGS) -c -o libSpec_la-zspeca.lo `test -f 'zspeca.c' || echo '$(srcdir)/'`zspeca.c
+
+testDoubleSpec-testDoubleSpec.o: testDoubleSpec.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec_CFLAGS) $(CFLAGS) -MT testDoubleSpec-testDoubleSpec.o -MD -MP -MF $(DEPDIR)/testDoubleSpec-testDoubleSpec.Tpo -c -o testDoubleSpec-testDoubleSpec.o `test -f 'testDoubleSpec.c' || echo '$(srcdir)/'`testDoubleSpec.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSpec-testDoubleSpec.Tpo $(DEPDIR)/testDoubleSpec-testDoubleSpec.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSpec.c' object='testDoubleSpec-testDoubleSpec.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec_CFLAGS) $(CFLAGS) -c -o testDoubleSpec-testDoubleSpec.o `test -f 'testDoubleSpec.c' || echo '$(srcdir)/'`testDoubleSpec.c
+
+testDoubleSpec-testDoubleSpec.obj: testDoubleSpec.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec_CFLAGS) $(CFLAGS) -MT testDoubleSpec-testDoubleSpec.obj -MD -MP -MF $(DEPDIR)/testDoubleSpec-testDoubleSpec.Tpo -c -o testDoubleSpec-testDoubleSpec.obj `if test -f 'testDoubleSpec.c'; then $(CYGPATH_W) 'testDoubleSpec.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSpec.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSpec-testDoubleSpec.Tpo $(DEPDIR)/testDoubleSpec-testDoubleSpec.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSpec.c' object='testDoubleSpec-testDoubleSpec.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec_CFLAGS) $(CFLAGS) -c -o testDoubleSpec-testDoubleSpec.obj `if test -f 'testDoubleSpec.c'; then $(CYGPATH_W) 'testDoubleSpec.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSpec.c'; fi`
+
+testFloatSpec-testFloatSpec.o: testFloatSpec.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec_CFLAGS) $(CFLAGS) -MT testFloatSpec-testFloatSpec.o -MD -MP -MF $(DEPDIR)/testFloatSpec-testFloatSpec.Tpo -c -o testFloatSpec-testFloatSpec.o `test -f 'testFloatSpec.c' || echo '$(srcdir)/'`testFloatSpec.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSpec-testFloatSpec.Tpo $(DEPDIR)/testFloatSpec-testFloatSpec.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSpec.c' object='testFloatSpec-testFloatSpec.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec_CFLAGS) $(CFLAGS) -c -o testFloatSpec-testFloatSpec.o `test -f 'testFloatSpec.c' || echo '$(srcdir)/'`testFloatSpec.c
+
+testFloatSpec-testFloatSpec.obj: testFloatSpec.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec_CFLAGS) $(CFLAGS) -MT testFloatSpec-testFloatSpec.obj -MD -MP -MF $(DEPDIR)/testFloatSpec-testFloatSpec.Tpo -c -o testFloatSpec-testFloatSpec.obj `if test -f 'testFloatSpec.c'; then $(CYGPATH_W) 'testFloatSpec.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSpec.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSpec-testFloatSpec.Tpo $(DEPDIR)/testFloatSpec-testFloatSpec.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSpec.c' object='testFloatSpec-testFloatSpec.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec_CFLAGS) $(CFLAGS) -c -o testFloatSpec-testFloatSpec.obj `if test -f 'testFloatSpec.c'; then $(CYGPATH_W) 'testFloatSpec.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSpec.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pkglibLTLIBRARIES
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-pkglibLTLIBRARIES ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-pkglibLTLIBRARIES
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/c/matrixOperations/spec/cspeca.c b/src/c/matrixOperations/spec/cspeca.c
new file mode 100644
index 0000000..a2b6548
--- /dev/null
+++ b/src/c/matrixOperations/spec/cspeca.c
@@ -0,0 +1,34 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+#include
+#include "spec.h"
+
+
+
+void cspeca(floatComplex* in, int rows, floatComplex* out){
+ /* As we use Lapack to find the eigenvalues, we must cast the floatComplex input into doubleComplex
+ and the doubleComplex output of dspeca into floatComplex*/
+
+ int i;
+ doubleComplex* dblin;
+ doubleComplex* dblout;
+
+ dblin=(doubleComplex*)malloc((unsigned int)(rows*rows)*sizeof(doubleComplex));
+ dblout=(doubleComplex*)malloc((unsigned int)rows*sizeof(doubleComplex));
+
+ for (i=0;i
+#include "spec.h"
+#include "lapack.h"
+#include "zeros.h"
+#include "max.h"
+
+void dspeca(double* in, int rows,double* out){
+ int i=0, j=0;
+ int symmetric=0;
+ int INFO=0;
+ int iWorkSize = 0;
+ double* pdblWork;
+ double* outReal;
+ double* outImag;
+ double* pdblLeftvectors;
+ double* pdblRightvectors;
+ double* inCopy;
+
+ inCopy = (double*)malloc((unsigned int)(rows*rows) * sizeof(double));
+ outReal = (double*)malloc((unsigned int)rows * sizeof(double));
+ outImag = (double*)malloc((unsigned int)rows * sizeof(double));
+ pdblLeftvectors=NULL;
+ pdblRightvectors=NULL;
+
+
+ iWorkSize = 3*rows;
+ pdblWork = (double*)malloc((unsigned int)iWorkSize * sizeof(double));
+
+ for(i=0;i
+#include "spec.h"
+
+
+
+void sspeca(float* in, int rows, float* out){
+ /* As we use Lapack to find the eigenvalues, we must cast the float input into double
+ and the doubleComplex output of dspeca into floatComplex*/
+
+ int i;
+ double* dblin;
+ double* dblout;
+
+ dblin=(double*)malloc((unsigned int)(rows*rows)*sizeof(double));
+ dblout=(double*)malloc((unsigned int)rows*sizeof(double));
+
+ for (i=0;i
+#include "spec.h"
+#include "stdio.h"
+#include "assert.h"
+#include "math.h"
+
+static void dspecaTest(void){
+ double in[4]={1,1,1,3};
+ double resultR[2]={0.5857864376269050765700,3.4142135623730949234300};
+
+
+ double *out;
+
+ int i;
+
+ out=(double*)malloc((unsigned int)2*sizeof(double));
+
+ dspeca(in,2,out);
+ for(i=0;i<2;i++){
+ if (out[i]>1e-16) assert( fabs(out[i]-resultR[i]) / fabs(out[i]) <3e-16);
+ else assert(1);
+ }
+
+}
+
+
+
+
+static void zspecaTest(void){
+ double inR[4]={1,1,1,3};
+ double inI[4]={0,0,0,0};
+ double resultR[2]={0.5857864376269050765700,3.4142135623730949234300};
+ double resultI[2]={0,0};
+
+ double in2R[4]={1,1,-2,3};
+ double in2I[4]={0,0,0,0};
+ double result2R[2]={1.9999999999999997779554,1.9999999999999997779554};
+ double result2I[2]={0.9999999999999997779554,-0.9999999999999997779554};
+
+ double in3R[16]={0.0603054538369178771973,0.631347181741148233414 ,0.0241030259057879447937,0.1527438252232968807221,
+ 0.9481177683919668197632,0.2744265575893223285675,0.4794727200642228126526,0.485576837789267301559,
+ 0.676400367170572280884,0.8321249918080866336823,0.0125875836238265037537,0.5453779897652566432953,
+ 0.8426716942340135574341,0.9029165101237595081329,0.4409482078626751899719,0.8332359003834426403046 };
+ double in3I[16]={0.7233976423740386962891,0.4377150186337530612946,0.3080607382580637931824,0.8749813153408467769623,
+ 0.5355882328003644943237 ,0.3085998897440731525421,0.3354632416740059852600,0.2342486302368342876434,
+ 0.2589411698281764984131,0.8521509231068193912506,0.4821739485487341880798,0.6095217890106141567230,
+ 0.9872822705656290054321,0.9811426815576851367950,0.3303113700821995735169,0.3589145573787391185761};
+ double result3R[4]={1.9486046375762748894545,0.2315060459861970343365,- 0.7694743345806510648188,- 0.2300808535483104266817};
+ double result3I[4]={2.1242015857341254303492,- 0.4115101262891645017561,- 0.1980716835789462781925,0.3584662621795701720195};
+
+ doubleComplex *in,*in2,*in3,out[2],out2[4];
+
+ int i;
+
+ in=DoubleComplexMatrix(inR,inI,4);
+ in2=DoubleComplexMatrix(in2R,in2I,4);
+ in3=DoubleComplexMatrix(in3R,in3I,16);
+
+ zspeca(in,2,out);
+ for(i=0;i<2;i++){
+ if (zreals(out[i])>1e-16) assert( fabs(zreals(out[i])-resultR[i]) / fabs(zreals(out[i])) <3e-16);
+ else assert(1);
+ if (zimags(out[i])>1e-16) assert( fabs(zimags(out[i])-resultI[i]) / fabs(zimags(out[i])) <1e-16);
+ else assert(1);
+ }
+
+
+ zspeca(in2,2,out);
+ for(i=0;i<2;i++){
+ if (zreals(out[i])>1e-16) assert( fabs(zreals(out[i])-result2R[i]) / fabs(zreals(out[i])) <3e-16);
+ else assert(1);
+ if (zimags(out[i])>1e-16) assert( fabs(zimags(out[i])-result2I[i]) / fabs(zimags(out[i])) <3e-15);
+ else assert(1);
+ }
+
+
+ zspeca(in3,4,out2);
+ for(i=0;i<4;i++){
+ if (zreals(out2[i])>1e-16) assert( fabs(zreals(out2[i])-result3R[i]) / fabs(zreals(out2[i])) <3e-15);
+ else assert(1);
+ if (zimags(out2[i])>1e-16) assert( fabs(zimags(out2[i])-result3I[i]) / fabs(zimags(out2[i])) <3e-15);
+ else assert(1);
+ }
+
+
+}
+
+
+static int testSpec(void){
+ printf(">>> Double Spec Tests <<<\n");
+ printf(">>> Double <<<\n");
+ dspecaTest();
+ printf(">>> DoubleComplex <<<\n");
+ zspecaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert (testSpec()==0);
+
+
+ return 0;
+}
diff --git a/src/c/matrixOperations/spec/testFloatSpec.c b/src/c/matrixOperations/spec/testFloatSpec.c
new file mode 100644
index 0000000..9bd46ad
--- /dev/null
+++ b/src/c/matrixOperations/spec/testFloatSpec.c
@@ -0,0 +1,110 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+#include
+#include "spec.h"
+#include "stdio.h"
+#include "assert.h"
+#include "math.h"
+
+static void sspecaTest(void){
+ float in[4]={1.0f,1.0f,1.0f,3.0f};
+ float resultR[2]={0.5857864376269050765700f,3.4142135623730949234300f};
+
+ float in1[4]={0.0f,4.0f,1.0f,0.0f};
+ float result[2]={2.0f,-2.0f};
+
+ float in2[4]={1.0f,1.0f,-2.0f,3.0f};
+
+ float *out;
+
+ int i;
+
+ out=(float *)malloc((unsigned int)2*sizeof(float));
+
+ sspeca(in,2,out);
+ for (i=0;i<2;i++) printf("%f\n",out[i]);
+ for(i=0;i<2;i++){
+ if (out[i]>1e-16) assert( fabs(out[i]-resultR[i]) / fabs(out[i]) <1e-16);
+ else assert(1);
+ }
+
+
+ sspeca(in1,2,out);
+ for (i=0;i<2;i++) printf("%f\n",out[i]);
+ for(i=0;i<2;i++){
+ if (out[i]>1e-16) assert( fabs(out[i]-result[i]) / fabs(out[i]) <1e-16);
+ else assert(1);
+ }
+
+ sspeca(in2,2,out);
+ for (i=0;i<2;i++) printf("%f\n",out[i]);
+
+}
+
+
+static void cspecaTest(void){
+ float inR[4]={1.0f,1.0f,1.0f,3.0f};
+ float inI[4]={0.0f,0.0f,0.0f,0.0f};
+ float resultR[2]={0.5857864376269050765700f,3.4142135623730949234300f};
+ float resultI[2]={0,0};
+
+ float in2R[4]={1.0f,1.0f,-2.0f,3.0f};
+ float in2I[4]={0.0f,0.0f,0.0f,0.0f};
+ float result2R[2]={1.9999999999999997779554f,1.9999999999999997779554f};
+ float result2I[2]={0.9999999999999997779554f,-0.9999999999999997779554f};
+
+ floatComplex *in,*in2,out[4];
+
+ int i;
+
+ in=FloatComplexMatrix(inR,inI,4);
+ in2=FloatComplexMatrix(in2R,in2I,4);
+
+ cspeca(in,2,out);
+ for(i=0;i<2;i++){
+ if (creals(out[i])>1e-16) assert( fabs(creals(out[i])-resultR[i]) / fabs(creals(out[i])) <1e-15);
+ else assert(1);
+ if (cimags(out[i])>1e-16) assert( fabs(cimags(out[i])-resultI[i]) / fabs(cimags(out[i])) <1e-16);
+ else assert(1);
+ }
+
+
+ cspeca(in2,2,out);
+ for(i=0;i<2;i++){
+ if (creals(out[i])>1e-16) assert( fabs(creals(out[i])-result2R[i]) / fabs(creals(out[i])) <1e-15);
+ else assert(1);
+ if (cimags(out[i])>1e-16) assert( fabs(cimags(out[i])-result2I[i]) / fabs(cimags(out[i])) <1e-15);
+ else assert(1);
+ }
+
+}
+
+
+
+
+static int testSpec(void){
+ printf(">>> Float Spec Tests <<<\n");
+ printf(">>> Float <<<\n");
+ sspecaTest();
+ printf(">>> FloatComplex <<<\n");
+ cspecaTest();
+ return 0;
+}
+
+
+int main(void){
+ assert (testSpec()==0);
+
+
+ return 0;
+}
diff --git a/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj b/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj
new file mode 100644
index 0000000..f696bff
--- /dev/null
+++ b/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj
@@ -0,0 +1,178 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {651B0E61-1047-4575-BE31-D9CB28062CBA}
+ testDoubleSpec
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+ Application
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ true
+ true
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ false
+ false
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ EditAndContinue
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+
+
+
+
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+
+
+
+
+ {9b1bd750-1fef-4d6b-9422-782d16181cee}
+ false
+
+
+ {fd335544-52bf-4736-a34e-77f591d158d5}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters b/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters
new file mode 100644
index 0000000..dcdaea5
--- /dev/null
+++ b/src/c/matrixOperations/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj b/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj
new file mode 100644
index 0000000..0631bb4
--- /dev/null
+++ b/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj
@@ -0,0 +1,178 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {B7BEF8A2-3E42-4FA3-94A7-22618594057D}
+ testFloatSpec
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+ Application
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ true
+ true
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ false
+ false
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ EditAndContinue
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+
+
+
+
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+
+
+
+
+ {9b1bd750-1fef-4d6b-9422-782d16181cee}
+ false
+
+
+ {fd335544-52bf-4736-a34e-77f591d158d5}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj.filters b/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj.filters
new file mode 100644
index 0000000..2ba2e59
--- /dev/null
+++ b/src/c/matrixOperations/spec/test_FloatSpec/testFloatSpec.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec/zspeca.c b/src/c/matrixOperations/spec/zspeca.c
new file mode 100644
index 0000000..a2b1c25
--- /dev/null
+++ b/src/c/matrixOperations/spec/zspeca.c
@@ -0,0 +1,80 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+#include
+#include "spec.h"
+#include "lapack.h"
+#include "zeros.h"
+#include "conj.h"
+
+void zspeca(doubleComplex* in, int rows,doubleComplex* out){
+ int i = 0, j = 0;
+ int hermitian = 0;
+ int INFO = 0;
+ int iWorkSize = 0;
+ doubleComplex* pdblWork;
+ doubleComplex* pdblLeftvectors;
+ doubleComplex* pdblRightvectors;
+ doubleComplex* pdblRWork;
+ double* outReal;
+ double* outImag;
+ doubleComplex* inCopy;
+
+ inCopy = (doubleComplex*)malloc((unsigned int)(rows*rows) * sizeof(doubleComplex));
+ outReal = (double*)malloc((unsigned int)rows * sizeof(double));
+ outImag = (double*)malloc((unsigned int)rows * sizeof(double));
+ pdblLeftvectors=NULL;
+ pdblRightvectors=NULL;
+
+ iWorkSize = 2*rows;
+ pdblWork = (doubleComplex*)malloc((unsigned int)iWorkSize * sizeof(doubleComplex));
+ pdblRWork = (doubleComplex*)malloc((unsigned int)(3*rows) * sizeof(doubleComplex));
+
+ for(i=0;i
+#include "spec.h"
+
+
+
+void cspec2a(floatComplex* in, int rows, floatComplex* eigenvalues,floatComplex* eigenvectors){
+ /* As we use Lapack to find the eigenvalues, we must cast the floatComplex input into doubleComplex
+ and the doubleComplex outputs of dspeca into floatComplex*/
+
+ int i;
+ doubleComplex* dblin;
+ doubleComplex* dbleigenvalues,*dbleigenvectors;
+
+ dblin=(doubleComplex*)malloc((unsigned int)(rows*rows)*sizeof(doubleComplex));
+ dbleigenvalues=(doubleComplex*)malloc((unsigned int)(rows*rows)*sizeof(doubleComplex));
+ dbleigenvectors=(doubleComplex*)malloc((unsigned int)(rows*rows)*sizeof(doubleComplex));
+
+ for (i=0;i
+#include "spec.h"
+#include "lapack.h"
+#include "zeros.h"
+#include "max.h"
+
+void dspec2a(double* in, int rows,double* eigenvalues,double* eigenvectors){
+ int i=0, j=0, ij=0, ij1=0;
+ int symmetric=0;
+ int INFO=0;
+ int iWorkSize = 0;
+ double* pdblWork;
+ double* outReal;
+ double* outImag;
+ double* pdblLeftvectors;
+ double* pdblRightvectors;
+ double* inCopy;
+
+ /* FIXME : malloc here */
+ inCopy = (double*)malloc((unsigned int)(rows*rows) * sizeof(double));
+ outReal = (double*)malloc((unsigned int)rows * sizeof(double));
+ outImag = NULL;
+ pdblLeftvectors=NULL;
+ pdblRightvectors=NULL;
+
+
+ iWorkSize = 4*rows;
+ pdblWork = (double*)malloc((unsigned int)iWorkSize * sizeof(double));
+
+ for(i=0;i
+#include "spec.h"
+
+
+
+void sspec2a(float* in, int rows, float* eigenvalues,float* eigenvectors){
+ /* As we use Lapack to find the eigenvalues, we must cast the float input into double
+ and the doubleComplex outputs of dspec2a into floatComplex*/
+
+ int i;
+ double* dblin;
+ double *dbleigenvalues,*dbleigenvectors;
+
+ dblin=(double*)malloc((unsigned int)(rows*rows)*sizeof(double));
+ dbleigenvalues = (double*)malloc((unsigned int)(rows*rows)*sizeof(double));
+ dbleigenvectors = (double*)malloc((unsigned int)(rows*rows)*sizeof(double));
+
+ for (i=0;i1e-16) assert( fabs(out3[i]-resultValues3R[i]) / fabs(out3[i]) <3e-16);
+ else assert(1);
+ }
+ for(i=0;i<9;i++){
+ if (out4[i]>1e-16) assert( fabs(out4[i]-resultVectors3R[i]) / fabs(out4[i]) <3e-16);
+ else assert(1);
+ }
+
+
+ dspec2a(in,2,out1,out2);
+ for(i=0;i<4;i++) printf("%f\n",out1[i]);
+ for(i=0;i<4;i++){
+ if (out1[i]>1e-16) assert( fabs(out1[i]-resultValuesR[i]) / fabs(out1[i]) <3e-16);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (out2[i]>1e-16) assert( fabs(out2[i]-resultVectorsR[i]) / fabs(out2[i]) <3e-16);
+ else assert(1);
+ }
+
+
+ dspec2a(in2,2,out1,out2);
+
+ for(i=0;i<4;i++){
+ if (out1[i]>1e-16) assert( fabs(out1[i]-resultValues2R[i]) / fabs(out1[i]) <1e-16);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (out2[i]>1e-16) assert( fabs(out2[i]-resultVectors2R[i]) / fabs(out2[i]) <3e-16);
+ else assert(1);
+ }
+
+}
+
+
+
+
+static void zspec2aTest(void){
+ double inR[4]={1,1,1,3};
+ double inI[4]={0,0,0,0};
+ double resultValuesR[4]={0.5857864376269050765700,0,0,3.4142135623730949234300};
+ double resultValuesI[4]={0,0,0,0};
+ double resultVectorsR[4]={- 0.9238795325112867384831,0.3826834323650897817792,
+ 0.3826834323650897817792,0.9238795325112867384831};
+ double resultVectorsI[4]={0,0,0,0};
+
+ double in2R[4]={1,1,-2,3};
+ double in2I[4]={0,0,0,0};
+ double resultValues2R[4]={1.9999999999999997779554,0,0,1.9999999999999997779554};
+ double resultValues2I[4]={0.9999999999999997779554,0,0,-0.9999999999999997779554};
+ double resultVectors2R[4]={0.8164965809277261454824,- 0.4082482904638631282523,
+ 0.8164965809277261454824,- 0.4082482904638631282523};
+ double resultVectors2I[4]={0,- 0.4082482904638629062077,0,0.4082482904638629062077};
+
+
+ double in3R[16]={ 0.4685934986919164657593, 0.4262020816095173358917, 0.4217656338587403297424, 0.1034853602759540081024 ,
+ 0.4279759414494037628174, 0.7860729382373392581940, 0.8568082069978117942810, 0.1993437460623681545258 ,
+ 0.7131301630288362503052, 0.5208952468819916248322, 0.9311723159626126289368, 0.4143836158327758312225,
+ 0.5980196148157119750977, 0.5549105503596365451813, 0.8552952585741877555847, 0.3097750707529485225678};
+ double in3I[16]={0.9446128141134977340698, 0.2442680452950298786163, 0.8760446915403008460999, 0.4874215493910014629364,
+ 0.3844018988311290740967, 0.0922345430590212345123, 0.0705418726429343223572, 0.7338807261548936367035,
+ 0.7792180571705102920532, 0.7827638057060539722443, 0.2161567779257893562317, 0.3420197847299277782440,
+ 0.430093832314014434814 , 0.6261752569116652011871, 0.9554250938817858695984, 0.45415506651625037193 };
+ double resultValues3R[16]={2.0556597713281337114211 , 0. , 0. , 0. ,
+ 0. , - 0.3025728286579054682193 , 0. , 0. ,
+ 0. , 0. , 0.1432776981289703988054 , 0. ,
+ 0. , 0. , 0. , 0.59924918284561956571821};
+ double resultValues3I[16]={2.0772175543447914947137 , 0. , 0. , 0. ,
+ 0. , - 0.5223086999196728807959 , 0. , 0. ,
+ 0. , 0. , 0.3871735516160564882782 , 0. ,
+ 0. , 0. , 0. , - 0.2349232044266161556489 };
+ double resultVectors3R[16]={ 0.5762578366606958546470 , 0.4529873647084416976583 , 0.5438116534400605495137 , 0.3599855200589946457868 ,
+ - 0.3285074902800487195442, - 0.0923654569732548225147, 0.6473744750124794666846, - 0.1812302216765642182139 ,
+ 0.7395301236826927748780, - 0.4588526195219964631811, 0.0997916953568371567496, - 0.3603263850824164338249 ,
+ 0.0717862182160008133192, 0.6967198304315765922112, - 0.1153149977500917411355 , - 0.3232658081022470875077 };
+ double resultVectors3I[16]={ 0. , - 0.1082260232744242933745, - 0.1403164362264210929254 , 0.0775054168635924967123 ,
+ 0.0347047096401541868560, - 0.4780157518240965019984, 0. , 0.4493438228998393735303,
+ 0. , - 0.0484367977162360741072 , 0.0664282497469102783949 , - 0.3098340648435350952461 ,
+ 0.1768623397230159322024, 0. , - 0.4621680558325051979551 , 0.3830799998945915163517};
+
+
+ double in4R[49]={0.0292230211198329925537, 0.1069206790998578071594, 9.7463708464056253433228, 7.7042609406635165214539 , 6.3966313377022743225098, 9.5358861843124032020569, 4.1484833415597677230835,
+ 4.6615396952256560325623, 2.2384551353752613067627, 3.4569733263924717903137, 2.3406236339360475540161, 6.6193414805456995964050,2.6911795139312744140625,9.8302489006891846656799 ,
+ 7.3933512251824140548706, 2.9021358629688620567322 , 3.9959496073424816131592 , 9.792278115637600421906 , 0.0755135808140039443970, 7.0210226578637957572937 , 8.9075061306357383728027 ,
+ 6.5269742021337151527405 , 4.136228552088141441345 , 8.5816909139975905418396 , 2.3960896767675876617432 , 4.8200417729094624519348, 9.848585547879338264465 , 4.4697216479107737541199,
+ 2.3298137634992599487305, 2.2345139319077134132385, 8.0025654565542936325073, 7.7507343282923102378845, 4.8250066302716732025146, 7.8448831336572766304016 , 1.5346793178468942642212 ,
+ 7.7228771103546023368835 , 8.9520217850804328918457, 9.4673257926478981971741, 6.9818257447332143783569, 9.5591608202084898948669, 0.4840173013508319854736, 5.3235206427052617073059,
+ 2.9468670953065156936646, 6.9771366892382502555847 , 9.3762038648128509521484 , 1.0755608463659882545471 , 7.7634243946522474288940, 6.3734178384765982627869 , 0.6630615703761577606201 };
+ double in4I[49]={8.1694598542526364326477, 3.5473910067230463027954, 5.860544512979686260223, 3.4610254690051078796387, 4.4247510144487023353577, 8.8226650562137365341187, 7.6436930662021040916443 ,
+ 7.764139864593744277954, 2.8076809318736195564270, 6.9086006004363298416138, 7.1747286943718791007996, 3.7201813608407974243164 , 9.3254965776577591896057, 2.2566775511950254440308,
+ 7.5211019208654761314392 , 3.0747506581246852874756 , 5.9793261485174298286438, 1.9238903466612100601196, 2.3870888305827975273132 , 7.4708331003785133361816, 9.7131536761298775672913,
+ 4.3703553732484579086304, 6.2248750543221831321716, 3.2913279719650745391846, 3.2963873865082859992981, 2.7686371374875307083130 , 4.8729835031554102897644, 7.7320465445518493652344 ,
+ 9.0775218093767762184143, 5.0122931879013776779175, 5.1595458528026938438416, 5.79267887398600578308 , 1.5463936375454068183899 , 7.6111377868801355361938, 6.9079177780076861381531 ,
+ 2.8732293471693992614746, 9.64253133628517389297 , 5.6607243325561285018921, 5.7821379369124770164490, 2.6634209789335727691650 , 4.7470985027030110359192, 6.0735465306788682937622,
+ 0.4097307054325938224793, 5.0125684589147567749023 , 5.2959309751167893409729, 6.2594583164900541305542, 2.2193526616320013999939 , 3.467419948428869247437, 3.9511676924303174018860 };
+ double resultValues4R[49]={39.018457752476393807228 ,0,0,0,0,0,0,
+ 0,2.2455352415739073812517,0,0,0,0,0,
+ 0,0,- 8.4848591657394489828903,0,0,0,0,
+ 0,0,0,- 9.617033196016185669919,0,0,0,
+ 0,0,0,0,- 3.7815852014367528077798,0,0,
+ 0,0,0,0,0,- 4.44858427601393291440,0,
+ 0,0,0,0,0,0,- 0.3001282122401837670900};
+ double resultValues4I[49]={36.525725390582877594170,0,0,0,0,0,0,
+ 0,- 5.9058762755733944516123,0,0,0,0,0,
+ 0,0,- 3.5959527108686115681735,0,0,0,0,
+ 0,0,0,1.8928051444081777088257,0,0,0,
+ 0,0,0,0,- 3.1889864758923365251064,0,0,
+ 0,0,0,0,0,3.2418188738592150777151,0,
+ 0,0,0,0,0,0,1.5279802073147508156836};
+
+ double resultVectors4R[49]={ 0.3499995148567048852684, 0.3131141942665225941234, 0.4518966551544936205431, 0.3429358568207974133912, 0.3073919828504245721490, 0.4236868694783915145763, 0.3928739146959387973368 ,
+ 0.2654822689469810148566 , - 0.3607918093136298631762, 0.0473515544359270068586 , 0.5097969509656486986060 , -0.3771134435310480315096 , 0.2011534205484152293408, - 0.4415200724898113993078,
+ 0.5454886553461798515130, - 0.2173248800239625522224, - 0.2171708216301463378883 , - 0.2460117034233289534662 , -0.3694743444265859433351 , 0.3601018742104445391483, 0.1530612374027510713681,
+ 0.6385835932752577104310, - 0.0013906755423099548263, - 0.3368505708673739662551 , 0.1394203608831885433 , -0.2292783363046769218308 , -0.2740379414191142504187, 0.1926279946047058377889 ,
+ - 0.6106238336849327819067, 0.0128604884735820379493, 0.2248434453925002574071, - 0.0955950290268089419854 , 0.6322383898844411431739 , - 0.1362122761803175874373, - 0.0030545591332723984190,
+ 0.5431360047322275619308, 0.1304324282476526930541, - 0.3713242513274904177401, - 0.2693820083406764376299 , - 0.1431429883314006001882 , 0.0533021313694299267438, 0.0071247423818797811501 ,
+ - 0.156705245229635081738, 0.0034676864415526253982 , - 0.3351413975178426096768 , 0.2927797449896782921996 , 0.5714932440406852443005 , 0.0738366305178744797288, - 0.4509415569247051669422 };
+ double resultVectors4I[49]={ 0.0720991445669864616796 , 0.0844739028302603361942 , 0. , 0.0173431366502564965337, -0.0428710162141596462515, 0.0695226101295536302871, 0.0999385617869267273150,
+ 0.2510960793336660668018 , - 0.1123901435582568414384, 0.0091069807153507792430, 0. , - 0.2545493692188907641771, 0.1149714203529902251111, 0.0762796210842419941667,
+ 0. , 0.0611827470444509316505, 0.2295643426501567385678, - 0.2950878328821502361024, 0.198556748820033573955, 0.0646801132828138114483, - 0.2660572521172601678785,
+ 0. , 0.2688905463703794573860, 0.2230635356255223633593 , - 0.2013432448241845862391, - 0.0386922946770884290668, 0.0358963301038670995480, - 0.3593711366897305303780 ,
+ - 0.1386717901043315326337, 0.0600994116374372472356, - 0.1167558596038882207102 , 0.317965599565130263571, 0. , -0.0642522754144960878131, - 0.0853665514099945371695,
+ 0. , 0.2715431731544318272320, - 0.1184277560110737481658 , 0.3655618467608299226868, - 0.4598766797780974302512 , 0.0188698345957667955319, - 0.1446429340244405892246,
+ 0.346095581161616094867 , 0.0750882555805542639682, - 0.2494867985551498246188, - 0.2328934592128872882455, 0. , -0.0047307828167728396829, - 0.0078254955461786041004};
+
+
+
+
+ doubleComplex *in,*in2,*in3,*in4,out1[4],out2[4],out3[16],out4[16],out5[49],out6[49];
+
+ int i;
+
+ in=DoubleComplexMatrix(inR,inI,4);
+ in2=DoubleComplexMatrix(in2R,in2I,4);
+ in3=DoubleComplexMatrix(in3R,in3I,16);
+ in4=DoubleComplexMatrix(in4R,in4I,49);
+ zspec2a(in,2,out1,out2);
+
+
+ for(i=0;i<4;i++){
+ if (zreals(out1[i])>1e-16) assert( fabs(zreals(out1[i])-resultValuesR[i]) / fabs(zreals(out1[i])) <3e-16);
+ else assert(1);
+ if (zimags(out1[i])>1e-16) assert( fabs(zimags(out1[i])-resultValuesI[i]) / fabs(zimags(out1[i])) <1e-16);
+ else assert(1);
+ }
+
+ for(i=0;i<4;i++){
+ if (zreals(out2[i])>1e-16) assert( fabs(zreals(out2[i])-resultVectorsR[i]) / fabs(zreals(out2[i])) <3e-16);
+ else assert(1);
+ if (zimags(out2[i])>1e-16) assert( fabs(zimags(out2[i])-resultVectorsI[i]) / fabs(zimags(out2[i])) <1e-16);
+ else assert(1);
+ }
+
+
+ zspec2a(in2,2,out1,out2);
+ for(i=0;i<4;i++){
+ if (zreals(out1[i])>1e-16) assert( fabs(zreals(out1[i])-resultValues2R[i]) / fabs(zreals(out1[i])) <3e-16);
+ else assert(1);
+ if (zimags(out1[i])>1e-16) assert( fabs(zimags(out1[i])-resultValues2I[i]) / fabs(zimags(out1[i])) <3e-15);
+ else assert(1);
+ }
+
+ for(i=0;i<4;i++){
+ if (zreals(out2[i])>1e-16) assert( fabs(zreals(out2[i])-resultVectors2R[i]) / fabs(zreals(out2[i])) <3e-16);
+ else assert(1);
+ if (zimags(out2[i])>1e-16) assert( fabs(zimags(out2[i])-resultVectors2I[i]) / fabs(zimags(out2[i])) <3e-15);
+ else assert(1);
+ }
+
+
+
+ zspec2a(in3,4,out3,out4);
+ for(i=0;i<16;i++){
+ if (zreals(out3[i])>1e-16) assert( fabs(zreals(out3[i])-resultValues3R[i]) / fabs(zreals(out3[i])) <3e-15);
+ else assert(1);
+ if (zimags(out3[i])>1e-16) assert( fabs(zimags(out3[i])-resultValues3I[i]) / fabs(zimags(out3[i])) <3e-15);
+ else assert(1);
+ }
+ for(i=0;i<16;i++){
+ if (zreals(out4[i])>1e-16) assert( fabs(zreals(out4[i])-resultVectors3R[i]) / fabs(zreals(out4[i])) <3e-15);
+ else assert(1);
+ if (zimags(out4[i])>1e-16) assert( fabs(zimags(out4[i])-resultVectors3I[i]) / fabs(zimags(out4[i])) <3e-14);
+ else assert(1);
+ }
+
+ /* FIXME : assert : 3e-16 maybe du to little values like 0.001... */
+ zspec2a(in4,7,out5,out6);
+
+ for(i=0;i<49;i++){
+ if (zreals(out5[i])>1e-16) assert( fabs(zreals(out5[i])-resultValues4R[i]) / fabs(zreals(out5[i])) <3e-15);
+ else assert(1);
+ if (zimags(out5[i])>1e-16) assert( fabs(zimags(out5[i])-resultValues4I[i]) / fabs(zimags(out5[i])) <3e-14);
+ else assert(1);
+ }
+ for(i=0;i<49;i++){
+ if (zreals(out6[i])>1e-16) assert( fabs(zreals(out6[i])-resultVectors4R[i]) / fabs(zreals(out6[i])) <3e-14);
+ else assert(1);
+ if (zimags(out6[i])>1e-16) assert( fabs(zimags(out6[i])-resultVectors4I[i]) / fabs(zimags(out6[i])) <3e-13);
+ else assert(1);
+ }
+
+
+
+}
+
+
+static int testSpec2(void){
+ printf(">>> Double Spec2 Tests <<<\n");
+ printf(">>> Double <<<\n");
+ dspec2aTest();
+ printf(">>> DoubleComplex <<<\n");
+ zspec2aTest();
+ return 0;
+}
+
+
+int main(void){
+ assert (testSpec2()==0);
+
+
+ return 0;
+}
diff --git a/src/c/matrixOperations/spec2/testFloatSpec2.c b/src/c/matrixOperations/spec2/testFloatSpec2.c
new file mode 100644
index 0000000..fb2bc25
--- /dev/null
+++ b/src/c/matrixOperations/spec2/testFloatSpec2.c
@@ -0,0 +1,134 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+
+#include "spec.h"
+#include "stdio.h"
+#include "assert.h"
+#include "math.h"
+
+static void sspec2aTest(void){
+ float in[4]={1.0f,1.0f,1.0f,3.0f};
+ float resultValuesR[4]={0.5857864376269050765700f,0,0,3.4142135623730949234300f};
+ float resultVectorsR[4]={- 0.9238795325112867384831f,0.3826834323650897817792f,
+ 0.3826834323650897817792f,0.9238795325112867384831f};
+
+ float in2[4]={1.0f,1.0f,-2.0f,3.0f};
+ float resultValues2R[4]={1.9999999999999997779554f,0,0,1.9999999999999997779554f};
+ float resultVectors2R[4]={0.8164965809277261454824f,- 0.4082482904638631282523f,
+ 0.8164965809277261454824f,- 0.4082482904638631282523f};
+ float eigenvalues[4],eigenvectors[4];
+
+ int i;
+
+ sspec2a(in,2,eigenvalues,eigenvectors);
+
+ for(i=0;i<4;i++){
+ if (eigenvalues[i]>1e-6) assert( fabs(eigenvalues[i]-resultValuesR[i]) / fabs(eigenvalues[i]) <1e-16);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (eigenvectors[i]>1e-6) assert( fabs(eigenvectors[i]-resultVectorsR[i]) / fabs(eigenvectors[i]) <1e-16);
+ else assert(1);
+ }
+
+
+ sspec2a(in2,2,eigenvalues,eigenvectors);
+
+
+
+ for(i=0;i<4;i++){
+ if (eigenvalues[i]>1e-6) assert( fabs(eigenvalues[i]-resultValues2R[i]) / fabs(eigenvalues[i]) <1e-16);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (eigenvectors[i]>1e-6) assert( fabs(eigenvectors[i]-resultVectors2R[i]) / fabs(eigenvectors[i]) <1e-16);
+ else assert(1);
+ }
+}
+
+
+
+
+static void cspec2aTest(void){
+ float inR[4]={1.0f,1.0f,1.0f,3.0f};
+ float inI[4]={0.0f,0.0f,0.0f,0.0f};
+ float resultValuesR[4]={0.5857864376269050765700f,0,0,3.4142135623730949234300f};
+ float resultValuesI[4]={0,0,0,0};
+ float resultVectorsR[4]={- 0.9238795325112867384831f,0.3826834323650897817792f,
+ 0.3826834323650897817792f,0.9238795325112867384831f};
+ float resultVectorsI[4]={0,0,0,0};
+
+ float in2R[4]={1.0f,1.0f,-2.0f,3.0f};
+ float in2I[4]={0.0f,0.0f,0.0f,0.0f};
+ float resultValues2R[4]={1.9999999999999997779554f,0,0,1.9999999999999997779554f};
+ float resultValues2I[4]={0.9999999999999997779554f,0,0,-0.9999999999999997779554f};
+ float resultVectors2R[4]={0.8164965809277261454824f,- 0.4082482904638631282523f,
+ 0.8164965809277261454824f,- 0.4082482904638631282523f};
+ float resultVectors2I[4]={0,- 0.4082482904638629062077f,0,0.4082482904638629062077f};
+
+ floatComplex *in,*in2,out1[4],out2[4];
+
+ int i;
+
+ in=FloatComplexMatrix(inR,inI,4);
+ in2=FloatComplexMatrix(in2R,in2I,4);
+
+ cspec2a(in,2,out1,out2);
+ for(i=0;i<4;i++){
+ if (creals(out1[i])>1e-16) assert( fabs(creals(out1[i])-resultValuesR[i]) / fabs(creals(out1[i])) <1e-15);
+ else assert(1);
+ if (cimags(out1[i])>1e-16) assert( fabs(cimags(out1[i])-resultValuesI[i]) / fabs(cimags(out1[i])) <1e-16);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (creals(out2[i])>1e-16) assert( fabs(creals(out2[i])-resultVectorsR[i]) / fabs(creals(out2[i])) <1e-15);
+ else assert(1);
+ if (cimags(out2[i])>1e-16) assert( fabs(cimags(out2[i])-resultVectorsI[i]) / fabs(cimags(out2[i])) <1e-16);
+ else assert(1);
+ }
+
+
+ cspec2a(in2,2,out1,out2);
+ for(i=0;i<4;i++){
+ if (creals(out1[i])>1e-16) assert( fabs(creals(out1[i])-resultValues2R[i]) / fabs(creals(out1[i])) <1e-15);
+ else assert(1);
+ if (cimags(out1[i])>1e-16) assert( fabs(cimags(out1[i])-resultValues2I[i]) / fabs(cimags(out1[i])) <1e-15);
+ else assert(1);
+ }
+ for(i=0;i<4;i++){
+ if (creals(out2[i])>1e-16) assert( fabs(creals(out2[i])-resultVectors2R[i]) / fabs(creals(out2[i])) <1e-15);
+ else assert(1);
+ if (cimags(out2[i])>1e-16) assert( fabs(cimags(out2[i])-resultVectors2I[i]) / fabs(cimags(out2[i])) <1e-16);
+ else assert(1);
+ }
+}
+
+
+
+
+static int testSpec2(void){
+ printf(">>> Float Spec2 Tests <<<\n");
+ printf(">>> Float <<<\n");
+ sspec2aTest();
+ printf(">>> FloatComplex <<<\n");
+ cspec2aTest();
+ return 0;
+}
+
+
+int main(void){
+ assert (testSpec2()==0);
+
+
+ return 0;
+}
diff --git a/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj b/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj
new file mode 100644
index 0000000..7c36943
--- /dev/null
+++ b/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj
@@ -0,0 +1,178 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {FD0A4495-C372-41EF-B8EF-0A0939DA6C1E}
+ testDoubleSpec2
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+ Application
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ true
+ true
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ false
+ false
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ EditAndContinue
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+
+
+
+
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+
+
+
+
+ {9b1bd750-1fef-4d6b-9422-782d16181cee}
+ false
+
+
+ {fd335544-52bf-4736-a34e-77f591d158d5}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters b/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters
new file mode 100644
index 0000000..04f409d
--- /dev/null
+++ b/src/c/matrixOperations/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj b/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj
new file mode 100644
index 0000000..f4154eb
--- /dev/null
+++ b/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj
@@ -0,0 +1,178 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {E20D0BC2-B28A-412C-9715-5B93B319A4A3}
+ testFloatSpec2
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+ true
+
+
+ Application
+ Unicode
+
+
+ Application
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ true
+ true
+ $(SolutionDir)bin\
+ $(SolutionDir)bin\
+ $(ProjectDir)$(Configuration)\
+ $(ProjectDir)$(Configuration)\
+ false
+ false
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ EditAndContinue
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ MachineX86
+
+
+
+
+ Disabled
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ ProgramDatabase
+
+
+ $(SolutionDir)bin\$(ProjectName).exe
+ true
+ Console
+ true
+ true
+
+
+
+
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+
+
+
+
+ {9b1bd750-1fef-4d6b-9422-782d16181cee}
+ false
+
+
+ {fd335544-52bf-4736-a34e-77f591d158d5}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters b/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters
new file mode 100644
index 0000000..0c38d2f
--- /dev/null
+++ b/src/c/matrixOperations/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/c/matrixOperations/spec2/zspec2a.c b/src/c/matrixOperations/spec2/zspec2a.c
new file mode 100644
index 0000000..e33ed89
--- /dev/null
+++ b/src/c/matrixOperations/spec2/zspec2a.c
@@ -0,0 +1,96 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * 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
+ *
+ */
+
+#include
+#include "spec.h"
+#include "lapack.h"
+#include "zeros.h"
+#include "stdio.h"
+#include "conj.h"
+
+void zspec2a(doubleComplex* in, int rows,doubleComplex* eigenvalues, doubleComplex* eigenvectors){
+ int i = 0, j = 0;
+ int hermitian = 0;
+ int INFO = 0;
+ int iWorkSize = 0;
+ doubleComplex* pdblWork;
+ doubleComplex* pdblLeftvectors;
+ doubleComplex* pdblRightvectors;
+ doubleComplex* pdblRWork;
+ double* pdblRWork2;
+ double* outReal;
+ double* outImag;
+ doubleComplex* inCopy;
+
+ inCopy = (doubleComplex*)malloc((unsigned int)(rows*rows) * sizeof(doubleComplex));
+ outReal = (double*)malloc((unsigned int)rows * sizeof(double));
+ outImag = (double*)malloc((unsigned int)rows * sizeof(double));
+ pdblLeftvectors=NULL;
+ pdblRightvectors=NULL;
+
+ iWorkSize = 2*rows;
+ pdblWork = (doubleComplex*)malloc((unsigned int)iWorkSize * sizeof(doubleComplex));
+ pdblRWork = NULL;
+ pdblRWork2 = NULL;
+
+ for(i=0;i
+#include
+#include "modk.h"
+double max_calc(double* ptr,int sz)
+{
+ int i=0;
+ double mx;
+ if(ptr[0]<0)
+ {
+ ptr[0]=-1*ptr[0];
+ }
+ mx=(ptr[0]);
+ //printf("%lf\n",mx);
+ for(i=1;ieps)
+ {
+ int q,w,r;
+ for(q=0;q
+#include
+#include "modsn.h"
+
+void dmodsna(double* uu,int size,double emmc,double* sn)
+{
+ int i;
+ for(i=0;i
+#include
+#define CA 0.0003
+#include "modsn.h"
+double dmodsns(double uu, double emmc)
+{
+ double a,b,c,d,emc,u;
+ double em[14],en[14];
+ int i,ii,l,bo;
+ double sn,cn,dn;
+ emc=1-emmc;
+ u=uu;
+ if(emc)
+ {
+ bo=(emc<0.0);
+ if(bo)
+ {
+ d=1.0-emc;
+ emc/=-1.0/d;
+ u*=(d=sqrt(d));
+ }
+ a=1.0;
+ dn=1.0;
+ for(i=1;i<=13;i++)
+ {
+ l=i;
+ em[i]=a;
+ en[i]=(emc=sqrt(emc));
+ c=0.5*(a+emc);
+ if(fabs(a-emc)<=CA*a)break;
+ emc*=a;
+ a=c;
+ }
+ u*=c;
+ sn=sin(u);
+ cn=cos(u);
+ if(sn)
+ {
+ a=cn/sn;
+ c*=a;
+ for(ii=l;ii>=1;ii--)
+ {
+ b=em[ii];
+ a*=c;
+ c*=dn;
+ dn=(en[ii]+a)/(b+a);
+ a=c/b;
+ }
+ a=1.0/sqrt(c*c+1.0);
+ sn=(sn>=0.0?a:-a);
+ cn=c*(sn);
+ }
+ if(bo)
+ {
+ a=dn;
+ dn=cn;
+ cn=a;
+ sn/=d;
+ }
+ }
+ else
+ {
+ cn=1.0/cosh(u);
+ dn=cn;
+ sn=tanh(u);
+ }
+ return sn;
+}
+/*
+int main()
+{
+ double u,k;
+ u=4;
+ k=0.7;
+ sn(u,k);
+}
+*/
diff --git a/src/c/signalProcessing/%sn/int_modsn.h b/src/c/signalProcessing/%sn/int_modsn.h
new file mode 100644
index 0000000..179fb61
--- /dev/null
+++ b/src/c/signalProcessing/%sn/int_modsn.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_MODSN_H__
+#define __INT_MODSN_H__
+
+#define d0d0modsnd0(uu,emmc) dmodsns(uu,emmc)
+
+#endif /* !INT_MODSN_H__! */
diff --git a/src/c/signalProcessing/%sn/modsn.h b/src/c/signalProcessing/%sn/modsn.h
new file mode 100644
index 0000000..c589656
--- /dev/null
+++ b/src/c/signalProcessing/%sn/modsn.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __MODSN_H__
+#define __MODSN_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "c" {
+#endif
+
+double dmodsns(double uu, double emmc);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __MODSN_H__ */
diff --git a/src/c/signalProcessing/%sn/zmodsna.c b/src/c/signalProcessing/%sn/zmodsna.c
new file mode 100644
index 0000000..85bc0c1
--- /dev/null
+++ b/src/c/signalProcessing/%sn/zmodsna.c
@@ -0,0 +1,165 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include
+#include
+#include "modsn.h"
+#include "doubleComplex.h"
+#define CA 0.0003
+
+
+doubleComplex zmodsnsproto(doubleComplex uu,double emmc,doubleComplex* sni)
+{
+ doubleComplex ans;
+ double uur,uui;
+ uur=zreals(uu);
+ uui=zimags(uu);
+ double sr,cr,dr;
+ //Performing Elliptic Function operation for the real values
+ double a1,b1,c1,d1,emc1,u1;
+ double em1[14],en1[14];
+ int i1,ii1,l1,bo1;
+ emc1=1-emmc;
+ u1=uur;
+ if(emc1)
+ {
+ bo1=(emc1<0.0);
+ if(bo1)
+ {
+ d1=1.0-emc1;
+ emc1/=-1.0/d1;
+ u1*=(d1=sqrt(d1));
+ }
+ a1=1.0;
+ dr=1.0;
+ for(i1=1;i1<=13;i1++)
+ {
+ l1=i1;
+ em1[i1]=a1;
+ en1[i1]=(emc1=sqrt(emc1));
+ c1=0.5*(a1+emc1);
+ if(fabs(a1-emc1)<=CA*a1)break;
+ emc1*=a1;
+ a1=c1;
+ }
+ u1*=c1;
+ sr=sin(u1);
+ cr=cos(u1);
+ if(sr)
+ {
+ a1=cr/sr;
+ c1*=a1;
+ for(ii1=l1;ii1>=1;ii1--)
+ {
+ b1=em1[ii1];
+ a1*=c1;
+ c1*=dr;
+ dr=(en1[ii1]+a1)/(b1+a1);
+ a1=c1/b1;
+ }
+ a1=1.0/sqrt(c1*c1+1.0);
+ sr=(sr>=0.0?a1:-a1);
+ cr=c1*(sr);
+ }
+ if(bo1)
+ {
+ a1=dr;
+ dr=cr;
+ cr=a1;
+ sr/=d1;
+ }
+ }
+ else
+ {
+ cr=1.0/cosh(u1);
+ dr=cr;
+ sr=tanh(u1);
+ }
+ ////////////////////////////////////////////////////////////////
+ double si,ci,di;
+ //Performing Elleptic Function operation for the imaginary values
+ double a,b,c,d,emc,u;
+ double em[14],en[14];
+ int i,ii,l,bo;
+ //double s1,c1,d1;
+ emc=emmc;
+ u=uui;
+ if(emc)
+ {
+ bo=(emc<0.0);
+ if(bo)
+ {
+ d=1.0-emc;
+ emc/=-1.0/d;
+ u*=(d=sqrt(d));
+ }
+ a=1.0;
+ di=1.0;
+ for(i=1;i<=13;i++)
+ {
+ l=i;
+ em[i]=a;
+ en[i]=(emc=sqrt(emc));
+ c=0.5*(a+emc);
+ if(fabs(a-emc)<=CA*a)break;
+ emc*=a;
+ a=c;
+ }
+ u*=c;
+ si=sin(u);
+ ci=cos(u);
+ if(si)
+ {
+ a=ci/si;
+ c*=a;
+ for(ii=l;ii>=1;ii--)
+ {
+ b=em[ii];
+ a*=c;
+ c*=di;
+ di=(en[ii]+a)/(b+a);
+ a=c/b;
+ }
+ a=1.0/sqrt(c*c+1.0);
+ si=(si>=0.0?a:-a);
+ ci=c*(si);
+ }
+ if(bo)
+ {
+ a=di;
+ di=ci;
+ ci=a;
+ si/=d;
+ }
+ }
+ else
+ {
+ ci=1.0/cosh(u);
+ di=ci;
+ si=tanh(u);
+ }
+ /////////////////////////////////////////////////////////
+ double delta;
+ delta=ci*ci + emmc*sr*sr*si*si;
+ double snir,snii;
+ snir=(sr*di)/delta;
+ snii=(cr*dr*si*ci)/delta;
+ *sni=DoubleComplex(snir,snii);
+}
+
+void zmodsna(doubleComplex* uu,int size,double emmc,doubleComplex* sn)
+{
+ int i;
+ for(i=0;i
+#include
+#include "modsn.h"
+#include "doubleComplex.h"
+#define CA 0.0003
+
+doubleComplex zmodsns(doubleComplex uu,double emmc)
+{
+ doubleComplex ans;
+ double uur,uui;
+ uur=zreals(uu);
+ uui=zimags(uu);
+ double sr,cr,dr;
+ //Performing Elliptic Function operation for the real values
+ double a1,b1,c1,d1,emc1,u1;
+ double em1[14],en1[14];
+ int i1,ii1,l1,bo1;
+ emc1=1-emmc;
+ u1=uur;
+ if(emc1)
+ {
+ bo1=(emc1<0.0);
+ if(bo1)
+ {
+ d1=1.0-emc1;
+ emc1/=-1.0/d1;
+ u1*=(d1=sqrt(d1));
+ }
+ a1=1.0;
+ dr=1.0;
+ for(i1=1;i1<=13;i1++)
+ {
+ l1=i1;
+ em1[i1]=a1;
+ en1[i1]=(emc1=sqrt(emc1));
+ c1=0.5*(a1+emc1);
+ if(fabs(a1-emc1)<=CA*a1)break;
+ emc1*=a1;
+ a1=c1;
+ }
+ u1*=c1;
+ sr=sin(u1);
+ cr=cos(u1);
+ if(sr)
+ {
+ a1=cr/sr;
+ c1*=a1;
+ for(ii1=l1;ii1>=1;ii1--)
+ {
+ b1=em1[ii1];
+ a1*=c1;
+ c1*=dr;
+ dr=(en1[ii1]+a1)/(b1+a1);
+ a1=c1/b1;
+ }
+ a1=1.0/sqrt(c1*c1+1.0);
+ sr=(sr>=0.0?a1:-a1);
+ cr=c1*(sr);
+ }
+ if(bo1)
+ {
+ a1=dr;
+ dr=cr;
+ cr=a1;
+ sr/=d1;
+ }
+ }
+ else
+ {
+ cr=1.0/cosh(u1);
+ dr=cr;
+ sr=tanh(u1);
+ }
+ ////////////////////////////////////////////////////////////////
+ double si,ci,di;
+ //Performing Elleptic Function operation for the imaginary values
+ double a,b,c,d,emc,u;
+ double em[14],en[14];
+ int i,ii,l,bo;
+ //double s1,c1,d1;
+ emc=emmc;
+ u=uui;
+ if(emc)
+ {
+ bo=(emc<0.0);
+ if(bo)
+ {
+ d=1.0-emc;
+ emc/=-1.0/d;
+ u*=(d=sqrt(d));
+ }
+ a=1.0;
+ di=1.0;
+ for(i=1;i<=13;i++)
+ {
+ l=i;
+ em[i]=a;
+ en[i]=(emc=sqrt(emc));
+ c=0.5*(a+emc);
+ if(fabs(a-emc)<=CA*a)break;
+ emc*=a;
+ a=c;
+ }
+ u*=c;
+ si=sin(u);
+ ci=cos(u);
+ if(si)
+ {
+ a=ci/si;
+ c*=a;
+ for(ii=l;ii>=1;ii--)
+ {
+ b=em[ii];
+ a*=c;
+ c*=di;
+ di=(en[ii]+a)/(b+a);
+ a=c/b;
+ }
+ a=1.0/sqrt(c*c+1.0);
+ si=(si>=0.0?a:-a);
+ ci=c*(si);
+ }
+ if(bo)
+ {
+ a=di;
+ di=ci;
+ ci=a;
+ si/=d;
+ }
+ }
+ else
+ {
+ ci=1.0/cosh(u);
+ di=ci;
+ si=tanh(u);
+ }
+ /////////////////////////////////////////////////////////
+ double delta;
+ delta=ci*ci + emmc*sr*sr*si*si;
+ double snir,snii;
+ snir=(sr*di)/delta;
+ snii=(cr*dr*si*ci)/delta;
+ ans=DoubleComplex(snir,snii);
+ return ans;
+}
diff --git a/src/c/signalProcessing/amell/amell.h b/src/c/signalProcessing/amell/amell.h
new file mode 100644
index 0000000..30bd6c8
--- /dev/null
+++ b/src/c/signalProcessing/amell/amell.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __AMELL_H__
+#define __AMELL_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double damells(double u,double x);
+
+#ifdef __cplusplus
+} /* extern "c" */
+#endif
+
+#endif /*__AMELL_H__*/
diff --git a/src/c/signalProcessing/amell/damella.c b/src/c/signalProcessing/amell/damella.c
new file mode 100644
index 0000000..5c37e2a
--- /dev/null
+++ b/src/c/signalProcessing/amell/damella.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include
+#include
+#include "amell.h"
+
+void damella(double* u,int size,double x,double* oup)
+{
+ int i;
+ for(i=0;i
+#include
+#include "amell.h"
+#define N 30
+#define DBL_EPSILON 2.2204460492503131E-16
+
+
+double damells(double u,double x)
+{
+ double a[N+1];
+ double g[N+1];
+ double c[N+1];
+ double two_n;
+ double phi;
+ double k;
+ int n;
+ k=(long double)fabs(x);
+ if(k==1.0)
+ return 0;
+ if(k>1.0)
+ printf("Wrong type of input argument type #2");
+
+ a[0]=1.0;
+ g[0]=sqrt(1.0-k*k);
+ c[0]=k;
+ two_n=1.0;
+ for(n=0;n0;n--)
+ {
+ phi=0.5*(phi+asin(c[n]*sin(phi)/a[n]));
+ }
+ return (double)phi;
+}
+
diff --git a/src/c/signalProcessing/amell/int_amell.h b/src/c/signalProcessing/amell/int_amell.h
new file mode 100644
index 0000000..5d0c86f
--- /dev/null
+++ b/src/c/signalProcessing/amell/int_amell.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_AMELL_H__
+#define __INT_AMELL_H__
+
+#define d0d0amelld0(u,x) damells(u,x)
+
+#endif /* !__INT_AMELL_H__! */
diff --git a/src/c/signalProcessing/buttmag/buttmag.h b/src/c/signalProcessing/buttmag/buttmag.h
new file mode 100644
index 0000000..47e64af
--- /dev/null
+++ b/src/c/signalProcessing/buttmag/buttmag.h
@@ -0,0 +1,28 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __BUTTMAG_H__
+#define __BUTTMAG_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dbuttmags(double order, double omegac, int size, double* sample,double* out);
+
+#ifdef __cplusplus
+} /* extern "C"*/
+#endif
+
+#endif /* __BUTTMAG_H__ */
+
diff --git a/src/c/signalProcessing/buttmag/dbuttmags.c b/src/c/signalProcessing/buttmag/dbuttmags.c
new file mode 100644
index 0000000..dc40e81
--- /dev/null
+++ b/src/c/signalProcessing/buttmag/dbuttmags.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include
+#include
+#include "buttmag.h"
+void dbuttmags(double order, double omegac,double* sample,int size,double* out)
+{
+ double ones[size];
+ int j,k;
+ for(j=0;j
+#include
+#include "buttmag.h"
+void dbuttmags(int order, int omegac,double* sample,int size,double* out)
+{
+ double ones[size];
+ int j,k;
+ for(j=0;j
+#include
+#include "cheb1mag.h"
+void dcheb1mags(double n, double omegac, double epsilon, double* sample,int size,double* out)
+{
+ double x;
+ int j;
+ double tn;
+ for(j=0;j
+#include
+#include "cheb2mag.h"
+void dcheb2mags(double n,double omegar, double A, double* sample,int size,double* oup)
+{
+ double e;
+ //e=sqrt(A*A-1);
+ e=1/(pow(10,A/10)-1);
+ double x,k,cn,h,tp;
+ int i;
+ for(i=0;i
+#include "modsn.h"
+#include "ell1mag.h"
+#include "doubleComplex.h"
+
+void dell1maga(double eps,double m1,double* z,int size,double* oup )
+{
+ double s[size];
+ int i;
+ for(i=0;i
+#include "modsn.h"
+#include "ell1mag.h"
+#include "doubleComplex.h"
+
+void zell1maga(double eps,double m1,doubleComplex* z,int size,double* oup )
+{
+ doubleComplex s[size];
+ int i;
+ for(i=0;i
+#include
+#include "filt_sinc.h"
+#include "ffilt.h"
+void gffilts(char* ft,int size,double N,double fc,double fh,double* oup)
+{
+ int sz=N;
+ double X[sz];
+ double no22=(N-1)/2;
+ int ino22=(int)no22;
+ if(ft[0]=='l')
+ {
+ dfilt_sincs(N,fc,X);
+ int k=0;
+ for(k=0;k
+#include
+#include "filt_sinc.h"
+void dfilt_sincs(double N,double fc,double* oup)
+{
+ double no2=(N-1)/2;
+ int ino2=(int)no2;
+ double wl=fc*2*M_PI;
+ int sz=N;
+ double xn[sz];
+ double i;
+ int l,m;
+ for(i=-no2;i<=no2;i++)
+ {
+ l=i+no2;
+ xn[l]=sin(wl*i);
+ }
+ double xd[sz];
+ double j;
+ printf("\n");
+ for(j=-no2;j<=no2;j++)
+ {
+ m=j+no2;
+ xd[m]=M_PI*j;
+ }
+ if(ino2==no2)
+ {
+ xn[(int)no2]=2*fc;
+ xd[(int)no2]=1;
+ }
+ double x[sz];
+ int k;
+ for(k=0;k
+
+#include
+#include "sincd.h"
+#include "fsfirlin.h"
+//#define PI 3.14159265358979
+
+void dfsfirlina(double* hd,int size,double flag,double* hst)
+{
+ int n1=size,n;
+ if( n1%2==0)
+ {
+ n=2*n1;
+ }
+ else
+ {
+ n=2*n1+1;
+ }
+ double scd[8*n+1];
+ //STRAT SINCD
+ double npt=4*n;
+ int sz=4*n;
+ double PI=M_PI;
+ double pas=PI/npt;
+ double om[sz+1];
+ int i;
+ for(i=0;i<=sz;i++)
+ {
+ om[i]=i*pas;
+ }
+ double eps=pow(-1,(n-1));
+ double s1[sz+1],s2[sz+1];
+ double s[2*(sz)+1];
+ double sr[2*(sz)+1];
+ if(flag==1)
+ {
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[0]=n;
+ s2[0]=1;
+ s1[sz]=n*eps;
+ s2[sz]=1;
+
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+
+ int x;
+ for(x=0;x<=4*n;x++)
+ {
+ scd[sz-x]=s[x];
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ scd[l]=s[l-(sz)];
+ }
+ int m;
+ for(m=0;m<=8*n;m++)
+ {
+ scd[m]=scd[m]/n;
+ }
+ }
+ else
+ {
+ int a;
+ for(a=0;a<=4*n;a++)
+ {
+ om[a]=om[a]-(PI/(2*n));
+ }
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[2]=n;
+ s2[2]=1;
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+ int m;
+ for(m=0;m<=4*n;m++)
+ {
+ scd[m]=(eps*s[m])/n;
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ scd[l]=s[l-(sz)]/n;
+ }
+ }
+ //END SINCD
+ int ii;
+ for(ii=4*n;ii<=6*n;ii++)
+ {
+ hst[ii-(4*n)]=hd[0]*scd[ii];
+ }
+
+ int epsi;
+ epsi=pow(-1,n-1);
+ int jj;
+ for(jj=1;jj<=(n1-1);jj++)
+ {
+ double tp1[2*n+1];
+ double tp2[2*n+1];
+ int k,l;
+ for(k=(-4*jj+4*n);k<=(-4*jj+6*n);k++)
+ {
+ tp1[k-(-4*jj+4*n)]=hd[jj]*scd[k];
+ }
+
+ for(l=(4*jj);l<=(4*jj+2*n);l++)
+ {
+ tp2[l-(4*jj)]=hd[jj]*(epsi*scd[l]);
+ }
+ int m;
+ for(m=0;m<=2*n;m++)
+ {
+ hst[m]=hst[m]+(tp1[m]+tp2[m]);
+ }
+
+ }
+
+
+}
diff --git a/src/c/signalProcessing/fsfirlin/fsfirlin.h b/src/c/signalProcessing/fsfirlin/fsfirlin.h
new file mode 100644
index 0000000..7337cbf
--- /dev/null
+++ b/src/c/signalProcessing/fsfirlin/fsfirlin.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __FSFIRLIN_H__
+#define __FSFIRLIN_H__
+#include "types.h"
+#include "sincd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dfsfirlina(double* hd,int size,int flag,double* hst);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
diff --git a/src/c/signalProcessing/fsfirlin/int_fsfirlin.h b/src/c/signalProcessing/fsfirlin/int_fsfirlin.h
new file mode 100644
index 0000000..857dae8
--- /dev/null
+++ b/src/c/signalProcessing/fsfirlin/int_fsfirlin.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_FSFIRLIN_H__
+#define __INT_FSFIRLIN_H__
+
+#define d2u80fsfirlind2(hd,size,flag,hst) dfsfirlina(hd,size[1],flag,hst)
+
+#endif /* !__INT_FSFIRLIN_H__! */
diff --git a/src/c/signalProcessing/includes/amell.h b/src/c/signalProcessing/includes/amell.h
new file mode 100644
index 0000000..2336d3c
--- /dev/null
+++ b/src/c/signalProcessing/includes/amell.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __AMELL_H__
+#define __AMELL_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double damells(double u,double x);
+void damella(double* u,int size,double x,double* oup);
+
+#ifdef __cplusplus
+} /* extern "c" */
+#endif
+
+#endif /*__AMELL_H__*/
diff --git a/src/c/signalProcessing/includes/buttmag.h b/src/c/signalProcessing/includes/buttmag.h
new file mode 100644
index 0000000..ef17b7e
--- /dev/null
+++ b/src/c/signalProcessing/includes/buttmag.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __BUTTMAG_H__
+#define __BUTTMAG_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dbuttmags(double order, double omegac, double* sample, int size,double* out);
+void u8buttmags(int order, int omegac, double* sample, int size,double* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __BUTTMAG_H__ */
+
diff --git a/src/c/signalProcessing/includes/cheb1mag.h b/src/c/signalProcessing/includes/cheb1mag.h
new file mode 100644
index 0000000..369ee4c
--- /dev/null
+++ b/src/c/signalProcessing/includes/cheb1mag.h
@@ -0,0 +1,27 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __CHEB1MAG_H__
+#define __CHEB1MAG_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dcheb1mags(double n, double omegac, double epsilon, double* sample,int size,double* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CHEB1MAG_H__ */
diff --git a/src/c/signalProcessing/includes/cheb2mag.h b/src/c/signalProcessing/includes/cheb2mag.h
new file mode 100644
index 0000000..0516ca5
--- /dev/null
+++ b/src/c/signalProcessing/includes/cheb2mag.h
@@ -0,0 +1,27 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __CHEB2MAG_H__
+#define __CHEB2MAG_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dcheb2mags(double n,double omegar, double A, double* sample,int size,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CHEB2MAG_H__ */
diff --git a/src/c/signalProcessing/includes/dct.h b/src/c/signalProcessing/includes/dct.h
new file mode 100644
index 0000000..db95274
--- /dev/null
+++ b/src/c/signalProcessing/includes/dct.h
@@ -0,0 +1,38 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __DCT_H__
+#define __DCT_H__
+
+#include
+#include "types.h"
+#include "doubleComplex.h"
+#include "addition.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void ddcta(double *in,int row,int col,int sign,double *out);
+
+void sdcta(float *in,int row,int col,int sign,float *out);
+
+void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out);
+
+//void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/signalProcessing/includes/ell1mag.h b/src/c/signalProcessing/includes/ell1mag.h
new file mode 100644
index 0000000..e881cca
--- /dev/null
+++ b/src/c/signalProcessing/includes/ell1mag.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ELL1MAG_H__
+#define __ELL1MAG_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void zell1maga(double eps,double m1,doubleComplex* z,int size,double* oup);
+void dell1maga(double eps,double m1,double* z,int size,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ELL1MAG_H__*/
diff --git a/src/c/signalProcessing/includes/ffilt.h b/src/c/signalProcessing/includes/ffilt.h
new file mode 100644
index 0000000..f38df6e
--- /dev/null
+++ b/src/c/signalProcessing/includes/ffilt.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __FFILT_H__
+#define __FFILT_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void gffilts(char* ft,int size,double N,double fc,double fh,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __FFILT_H__ */
diff --git a/src/c/signalProcessing/includes/filt_sinc.h b/src/c/signalProcessing/includes/filt_sinc.h
new file mode 100644
index 0000000..095ca91
--- /dev/null
+++ b/src/c/signalProcessing/includes/filt_sinc.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __FILT_SINC_H__
+#define __FILT_SINC_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dfilt_sincs(double N,double fc,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __FILT_SINC_H */
+
diff --git a/src/c/signalProcessing/includes/fsfirlin.h b/src/c/signalProcessing/includes/fsfirlin.h
new file mode 100644
index 0000000..cf5fbbd
--- /dev/null
+++ b/src/c/signalProcessing/includes/fsfirlin.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __FSFIRLIN_H__
+#define __FSFIRLIN_H__
+#include "types.h"
+#include "sincd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dfsfirlina(double* hd,int size,double flag,double* hst);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__FSFIRLIN_H__*/
diff --git a/src/c/signalProcessing/includes/idct.h b/src/c/signalProcessing/includes/idct.h
new file mode 100644
index 0000000..1e7b85b
--- /dev/null
+++ b/src/c/signalProcessing/includes/idct.h
@@ -0,0 +1,38 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __IDCT_H__
+#define __IDCT_H__
+
+#include
+#include "types.h"
+#include "doubleComplex.h"
+#include "addition.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void didcta(double *in,int row,int col,double *out);
+
+void sidcta(float *in,int row,int col,float *out);
+
+void zidcta(doubleComplex *in,int row,int col,doubleComplex *out);
+
+void cidcta(floatComplex *in,int row,int col,floatComplex *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/signalProcessing/includes/modk.h b/src/c/signalProcessing/includes/modk.h
new file mode 100644
index 0000000..5040eb7
--- /dev/null
+++ b/src/c/signalProcessing/includes/modk.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __MODK_H__
+#define __MODK_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dmodka(double* inp,int size,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __MODK_H__ */
+
diff --git a/src/c/signalProcessing/includes/modsn.h b/src/c/signalProcessing/includes/modsn.h
new file mode 100644
index 0000000..d91dd9d
--- /dev/null
+++ b/src/c/signalProcessing/includes/modsn.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __MODSN_H__
+#define __MODSN_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dmodsns(double uu, double emmc);
+doubleComplex zmodsns(doubleComplex uu,double emmc);
+void dmodsna(double* uu,int size,double emmc,double* sn);
+void zmodsna(doubleComplex* uu,int size,double emmc,doubleComplex* sn);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __MODSN_H__ */
diff --git a/src/c/signalProcessing/includes/sincd.h b/src/c/signalProcessing/includes/sincd.h
new file mode 100644
index 0000000..9b7a360
--- /dev/null
+++ b/src/c/signalProcessing/includes/sincd.h
@@ -0,0 +1,29 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINCD_H__
+#define __SINCD_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsincds(double n,double flg,double* oup);
+void u8sincds(int n,int flg,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINCD_H__ */
+
diff --git a/src/c/signalProcessing/includes/zpbutt.h b/src/c/signalProcessing/includes/zpbutt.h
new file mode 100644
index 0000000..9eb88ad
--- /dev/null
+++ b/src/c/signalProcessing/includes/zpbutt.h
@@ -0,0 +1,29 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ZPBUTT_H__
+#define __ZPBUTT_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dzpbutts(double n,double fl,doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __ZPBUTT_H__ */
+
diff --git a/src/c/signalProcessing/includes/zpch1.h b/src/c/signalProcessing/includes/zpch1.h
new file mode 100644
index 0000000..fbe850c
--- /dev/null
+++ b/src/c/signalProcessing/includes/zpch1.h
@@ -0,0 +1,28 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ZPCH1_H__
+#define __ZPCH1_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dzpch1s(double N,double e,double wc,doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __ZPCH1_H__ */
diff --git a/src/c/signalProcessing/includes/zpch2.h b/src/c/signalProcessing/includes/zpch2.h
new file mode 100644
index 0000000..d7c1c64
--- /dev/null
+++ b/src/c/signalProcessing/includes/zpch2.h
@@ -0,0 +1,28 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ZPCH2_H__
+#define __ZPCH2_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dzpch2s(double N, double A, double omegar,doubleComplex* zeros,doubleComplex* poles);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __ZPCH2_H__ */
diff --git a/src/c/signalProcessing/interfaces/int_amell.h b/src/c/signalProcessing/interfaces/int_amell.h
new file mode 100644
index 0000000..10719ac
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_amell.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_AMELL_H__
+#define __INT_AMELL_H__
+
+#define d0d0amelld0(u,x) damells(u,x)
+#define d2d0amelld2(u,size,x,oup) damella(u,size[1],x,oup)
+
+#endif /* !__INT_AMELL_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_buttmag.h b/src/c/signalProcessing/interfaces/int_buttmag.h
new file mode 100644
index 0000000..4a33faf
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_buttmag.h
@@ -0,0 +1,19 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_BUTTMAG_H__
+#define __INT_BUTTMAG_H__
+
+#define d0d0d2buttmagd2(order,omegac,sample,size,out) dbuttmags(order,omegac,sample,size[1],out)
+#define u80u80d2buttmagd2(order,omegac,sample,size,out) u8buttmags(order,omegac,sample,size[1],out)
+
+#endif /* !INT_BUTTMAG_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_cheb1mag.h b/src/c/signalProcessing/interfaces/int_cheb1mag.h
new file mode 100644
index 0000000..764e8c7
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_cheb1mag.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_CHEB1MAG_H__
+#define __INT_CHEB1MAG_H__
+
+#define d0d0d0d2cheb1magd2(n,omegac,epsilon,sample,size,out) dcheb1mags(n,omegac,epsilon,sample,size[1],out)
+
+#endif /* !__INT_CHEB1MAG_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_cheb2mag.h b/src/c/signalProcessing/interfaces/int_cheb2mag.h
new file mode 100644
index 0000000..b63db04
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_cheb2mag.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_CHEB2MAG_H__
+#define __INT_CHEB2MAG_H__
+
+#define d0d0d0d2cheb2magd2(n,omegar,A,sample,size,oup) dcheb2mags(n,omegar,A,sample,size[1],oup)
+
+#endif /* !__INT_CHEB2MAG_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_dct.h b/src/c/signalProcessing/interfaces/int_dct.h
new file mode 100644
index 0000000..ef58b48
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_dct.h
@@ -0,0 +1,36 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_DCT_H__
+#define __INT_DCT_H__
+
+
+
+#define d2dctd2(in,size,out) ddcta(in,size[0],size[1],-1,out)
+
+#define d2d0dctd2(in,size,sign,out) ddcta(in,size[0],size[1],sign,out)
+
+#define s2dcts2(in,size,out) sdcta(in,size[0],size[1],-1,out)
+
+#define s2s0dcts2(in,size,sign,out) sdcta(in,size[0],size[1],sign,out)
+
+#define z2dctz2(in,size,out) zdcta(in,size[0],size[1],-1,out)
+
+#define z2d0dctz2(in,size,sign,out) zdcta(in,size[0],size[1],sign,out)
+
+//#define c2dctc2(in,size,out) cdcta(in,size[0],size[1],-1,out)
+
+//#define c2s0dctc2(in,size,sign,out) cdcta(in,size[0],size[1],sign,out)
+
+#endif
diff --git a/src/c/signalProcessing/interfaces/int_ell1mag.h b/src/c/signalProcessing/interfaces/int_ell1mag.h
new file mode 100644
index 0000000..c30ffef
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_ell1mag.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ELL1MAG_H__
+#define __INT_ELL1MAG_H__
+
+#define d0d0z2ell1magd2(eps,m1,z,size,oup) zell1maga(eps,m1,z,size[1],oup)
+#define d0d0d2ell1magd2(eps,m1,z,size,oup) dell1maga(eps,m1,z,size[1],oup)
+
+#endif /* !__INT_ELL1MAG_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_ffilt.h b/src/c/signalProcessing/interfaces/int_ffilt.h
new file mode 100644
index 0000000..273b98f
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_ffilt.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_FFILT_H__
+#define __INT_FFILT_H__
+
+#define g2d0d0d0ffiltd2(ft,size,N,fc,fh,oup) gffilts(ft,size[1],N,fc,fh,oup)
+
+#endif /* !__INT_FFILT_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_filt_sinc.h b/src/c/signalProcessing/interfaces/int_filt_sinc.h
new file mode 100644
index 0000000..f90d0a6
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_filt_sinc.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_FILT_SINC_H__
+#define __INT_FILT_SINC_H__
+
+#define d0d0filt_sincd2(N,fc,oup) dfilt_sincs(N,fc,oup)
+
+#endif /* !__INT_FILT_SINC_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_fsfirlin.h b/src/c/signalProcessing/interfaces/int_fsfirlin.h
new file mode 100644
index 0000000..3f6fb6e
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_fsfirlin.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_FSFIRLIN_H__
+#define __INT_FSFIRLIN_H__
+
+#define d2d0fsfirlind2(hd,size,flag,hst) dfsfirlina(hd,size[1],flag,hst)
+
+#endif /* !__INT_FSFIRLIN_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_idct.h b/src/c/signalProcessing/interfaces/int_idct.h
new file mode 100644
index 0000000..f705fe2
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_idct.h
@@ -0,0 +1,28 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_IDCT_H__
+#define __INT_IDCT_H__
+
+
+
+#define d2idctd2(in,size,out) didcta(in,size[0],size[1],out)
+
+#define s2idcts2(in,size,out) sidcta(in,size[0],size[1],out)
+
+#define z2idctz2(in,size,out) zidcta(in,size[0],size[1],out)
+
+#define c2idctc2(in,size,out) cidcta(in,size[0],size[1],out)
+
+#endif
diff --git a/src/c/signalProcessing/interfaces/int_modk.h b/src/c/signalProcessing/interfaces/int_modk.h
new file mode 100644
index 0000000..441b9b1
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_modk.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_MODK_H__
+#define __INT_MODK_H__
+
+#define d2modkd2(inp,size,oup) dmodka(inp,size[1],oup)
+
+#endif /* !INT_MODK_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_modsn.h b/src/c/signalProcessing/interfaces/int_modsn.h
new file mode 100644
index 0000000..56c8f8c
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_modsn.h
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_MODSN_H__
+#define __INT_MODSN_H__
+
+#define d0d0modsnd0(uu,emmc) dmodsns(uu,emmc)
+#define z0d0modsnz0(uu,emmc) zmodsns(uu,emmc)
+#define d2d0modsnd2(uu,size,emmc,sn) dmodsna(uu,size[1],emmc,sn)
+#define z2d0modsnz2(uu,size,emmc,sn) zmodsna(uu,size[1],emmc,sn)
+
+#endif /* !__INT_MODSN_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_sincd.h b/src/c/signalProcessing/interfaces/int_sincd.h
new file mode 100644
index 0000000..7313673
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_sincd.h
@@ -0,0 +1,19 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SINCD_H__
+#define __INT_SINCD_H__
+
+#define d0d0sincdd2(n,flg,oup) dsincds(n,flg,oup)
+#define u80u80sincdd2(n,flg,oup) u8sincds(n,flg,oup)
+
+#endif /* !__INT_SINCD_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_zpbutt.h b/src/c/signalProcessing/interfaces/int_zpbutt.h
new file mode 100644
index 0000000..775c102
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_zpbutt.h
@@ -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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ZPBUTT_H__
+#define __INT_ZPBUTT_H__
+
+#define d0d0zpbuttz2d0(n,fl,out) dzpbutts(n,fl,out)
+
+#endif /* !INT_ZPBUTT_H__! */
+
diff --git a/src/c/signalProcessing/interfaces/int_zpch1.h b/src/c/signalProcessing/interfaces/int_zpch1.h
new file mode 100644
index 0000000..429e7c3
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_zpch1.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ZPCH1_H__
+#define __INT_ZPCH1_H__
+
+#define d0d0d0zpch1z2d0(N,e,wc,out) dzpch1s(N,e,wc,out)
+
+#endif /* !INT_ZPCH1_H__! */
diff --git a/src/c/signalProcessing/interfaces/int_zpch2.h b/src/c/signalProcessing/interfaces/int_zpch2.h
new file mode 100644
index 0000000..fcb12a7
--- /dev/null
+++ b/src/c/signalProcessing/interfaces/int_zpch2.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ZPCH2_H__
+#define __INT_ZPCH2_H__
+
+#define d0d0d0zpch2z2z2d0(N,A,omegar,zeros,poles) dzpch2s(N,A,omegar,zeros,poles)
+
+#endif /* !INT_ZPCH2_H__! */
diff --git a/src/c/signalProcessing/modk/dmodka.c b/src/c/signalProcessing/modk/dmodka.c
new file mode 100644
index 0000000..c0630ec
--- /dev/null
+++ b/src/c/signalProcessing/modk/dmodka.c
@@ -0,0 +1,97 @@
+#include
+#include
+#include "modk.h"
+double max_calc(double* ptr,int sz)
+{
+ int i=0;
+ double mx;
+ if(ptr[0]<0)
+ {
+ ptr[0]=-1*ptr[0];
+ }
+ mx=(ptr[0]);
+ //printf("%lf\n",mx);
+ for(i=1;ieps)
+ {
+ int q,w,r;
+ for(q=0;q
+#include
+#include "sincd.h"
+//#define PI 3.14159265358979
+void dsincds(double n,double flg,double* oup)
+{
+ double npt=4*n;
+ int sz=4*n;
+ double PI=M_PI;
+ double pas=PI/npt;
+ double om[sz+1];
+ int i;
+ for(i=0;i<=sz;i++)
+ {
+ om[i]=i*pas;
+ }
+ double eps=pow(-1,(n-1));
+ double s1[sz+1],s2[sz+1];
+ double s[2*(sz)+1];
+ double sr[2*(sz)+1];
+ if(flg==1)
+ {
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[0]=n;
+ s2[0]=1;
+ s1[sz]=n*eps;
+ s2[sz]=1;
+
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+
+ int x;
+ for(x=0;x<=4*n;x++)
+ {
+ oup[sz-x]=s[x];
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ oup[l]=s[l-(sz)];
+ }
+ int m;
+ for(m=0;m<=8*n;m++)
+ {
+ oup[m]=oup[m]/n;
+ }
+ }
+ else
+ {
+ int a;
+ for(a=0;a<=4*n;a++)
+ {
+ om[a]=om[a]-(PI/(2*n));
+ }
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[2]=n;
+ s2[2]=1;
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+ int m;
+ for(m=0;m<=4*n;m++)
+ {
+ oup[m]=(eps*s[m])/n;
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ oup[l]=s[l-(sz)]/n;
+ }
+
+ }
+}
+
diff --git a/src/c/signalProcessing/sincd/int_sincd.h b/src/c/signalProcessing/sincd/int_sincd.h
new file mode 100644
index 0000000..a404978
--- /dev/null
+++ b/src/c/signalProcessing/sincd/int_sincd.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SINCD_H__
+#define __INT_SINCD_H__
+
+#define u80sincdd2(n,flg,oup) u8sincds(n,flg,oup)
+
+#endif /* !__INT_SINCD_H__! */
diff --git a/src/c/signalProcessing/sincd/sincd.h b/src/c/signalProcessing/sincd/sincd.h
new file mode 100644
index 0000000..2df85a8
--- /dev/null
+++ b/src/c/signalProcessing/sincd/sincd.h
@@ -0,0 +1,28 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINCD_H__
+#define __SINCD_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void u8sincds(int n,int flg,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINCD_H__ */
+
diff --git a/src/c/signalProcessing/sincd/u8sincds.c b/src/c/signalProcessing/sincd/u8sincds.c
new file mode 100644
index 0000000..d03f48a
--- /dev/null
+++ b/src/c/signalProcessing/sincd/u8sincds.c
@@ -0,0 +1,98 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#include
+#include
+#include "sincd.h"
+#define PI 3.14159265358979
+void u8sincds(int n,int flg,double* oup)
+{
+ double npt=4*n;
+ int sz=4*n;
+ double pas=PI/npt;
+ double om[sz+1];
+ int i;
+ //om[0]=0;
+ for(i=0;i<=sz;i++)
+ {
+ om[i]=i*pas;
+ }
+ double eps=pow(-1,(n-1));
+ double s1[sz+1],s2[sz+1];
+ double s[2*(sz)+1];
+ double sr[2*(sz)+1];
+ if(flg==1)
+ {
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[0]=n;
+ s2[0]=1;
+ s1[sz]=n*eps;
+ s2[sz]=1;
+
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+
+ int x;
+ for(x=0;x<=4*n;x++)
+ {
+ oup[sz-x]=s[x];
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ oup[l]=s[l-(sz)];
+ }
+ int m;
+ for(m=0;m<=8*n;m++)
+ {
+ oup[m]=oup[m]/n;
+ }
+ }
+ else
+ {
+ int a;
+ for(a=0;a<=4*n;a++)
+ {
+ om[a]=om[a]-(PI/(2*n));
+ }
+ int j,k;
+ for(j=0;j<=4*n;j++)
+ {
+ s1[j]=sin(n*om[j]);
+ s2[j]=sin(om[j]);
+ }
+ s1[2]=n;
+ s2[2]=1;
+ for(k=0;k<=4*n;k++)
+ {
+ s[k]=s1[k]/s2[k];
+ }
+ int m;
+ for(m=0;m<=4*n;m++)
+ {
+ oup[m]=(eps*s[m])/n;
+ }
+ int l;
+ for(l=4*n+1;l<=8*n;l++)
+ {
+ oup[l]=s[l-(sz)]/n;
+ }
+
+ }
+}
diff --git a/src/c/signalProcessing/transforms/dct/cdcta.c b/src/c/signalProcessing/transforms/dct/cdcta.c
new file mode 100644
index 0000000..7ff8364
--- /dev/null
+++ b/src/c/signalProcessing/transforms/dct/cdcta.c
@@ -0,0 +1,230 @@
+/* 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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "dct.h"
+#include "addition.h"
+#include "types.h"
+#include "floatComplex.h"
+#include "multiplication.h"
+/*#include "matrixMultiplication"*/
+/*#include */
+#include
+
+void cdcta(floatComplex *in,int row,int col,int sign,floatComplex *out)
+{
+ int i,j,k,u,v;
+ int n;
+ int x,y;
+ float res,ress,vv,ff;
+ float re,z,q,m;
+ floatComplex accu = FloatComplex(0, 0);
+ floatComplex temp,mm,aa,bb,cc;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u*/
+#include
+
+void ddcta(double *in,int row,int col,int sign,double *out)
+{
+ int i,j,k,u,v;
+ int n;
+ int x,y;
+ double res,ress;
+ double re,z,q,m;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u*/
+#include
+
+void sdcta(float *in,int row,int col,int sign,float *out)
+{
+ int i,j,k,u,v;
+ int n;
+ int x,y;
+ float res,ress;
+ float re,z,q,m;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u*/
+#include
+
+void zdcta(doubleComplex *in,int row,int col,int sign,doubleComplex *out)
+{
+ int i,j,k,u,v;
+ int n;
+ int x,y;
+ double res,ress,vv,ff;
+ double re,z,q,m;
+ doubleComplex accu = DoubleComplex(0, 0);
+ doubleComplex temp,mm,aa,bb,cc;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u*/
+#include
+
+void cidcta(floatComplex *in,int row,int col,floatComplex *out)
+{
+ int i,j,k,u,v;
+ int n=col;
+ int x,y;
+ float res,ress,vv,ff;
+ float re,z,q,m;
+ floatComplex accu = FloatComplex(0, 0);
+ floatComplex temp,mm,aa,bb;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u*/
+#include
+
+void didcta(double *in,int row,int col,double *out)
+{
+ int i,j,k,u,v;
+ int n=col;
+ int x,y;
+ double res,ress;
+ double re,z,q,m;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u*/
+#include
+
+void sidcta(float *in,int row,int col,float *out)
+{
+ int i,j,k,u,v;
+ int n=col;
+ int x,y;
+ float res,ress;
+ float re,z,q,m;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u*/
+#include
+
+void zidcta(doubleComplex *in,int row,int col,doubleComplex *out)
+{
+ int i,j,k,u,v;
+ int n=col;
+ int x,y;
+ double res,ress,vv,ff;
+ double re,z,q,m;
+ doubleComplex accu = DoubleComplex(0, 0);
+ doubleComplex temp,mm,aa,bb;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u
+#include
+#include "zpbutt.h"
+#define PI 3.14159265
+double dzpbutts(double n,double fl,doubleComplex* out)
+{
+ double e= PI/(2.0*(n));
+ int k;
+ double rl,cpx,gain;
+ for(k=1;k<=n;k++)
+ {
+ double v=2.0*(double)k+(n)-1.0;
+ rl=(fl)*cos(e*v);
+ cpx=(fl)*sin(e*v);
+ out[k-1]=DoubleComplex(rl,cpx);
+ }
+ gain=pow(fl,n);
+
+return gain;
+
+}
+
diff --git a/src/c/signalProcessing/zpbutt/int_zpbutt.h b/src/c/signalProcessing/zpbutt/int_zpbutt.h
new file mode 100644
index 0000000..72eae8a
--- /dev/null
+++ b/src/c/signalProcessing/zpbutt/int_zpbutt.h
@@ -0,0 +1,19 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ZPBUTT_H__
+#define __INT_ZPBUTT_H__
+
+#define d0d0zpbuttzada(n,fl,out,gain) dzpbutts(n,fl,out,gain)
+
+#endif /* !INT_ZPBUTT_H__ */
+
diff --git a/src/c/signalProcessing/zpbutt/zpbutt.h b/src/c/signalProcessing/zpbutt/zpbutt.h
new file mode 100644
index 0000000..6883942
--- /dev/null
+++ b/src/c/signalProcessing/zpbutt/zpbutt.h
@@ -0,0 +1,27 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ZPBUTT_H__
+#define __ZPBUTT_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dzpbutts(double* n,double* fl,doublecomplex* out,double* gain);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
diff --git a/src/c/signalProcessing/zpch1/dzpch1s.c b/src/c/signalProcessing/zpch1/dzpch1s.c
new file mode 100644
index 0000000..ab7b633
--- /dev/null
+++ b/src/c/signalProcessing/zpch1/dzpch1s.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include
+#include
+#include "zpch1.h"
+#include "multiplication.h"
+#include "conj.h"
+#include "abs.h"
+#define PI 3.14159265
+double dzpch1s(double N,double e,double wc,doubleComplex* out)
+{
+ doubleComplex accumulate,tp;
+ double B,r,R,gain,realVal;
+ double temp=sqrt(1+e*e);
+
+ B=pow((temp+1)/e,1/N);
+
+ r=wc*((B*B-1)/(2*B));
+ R=wc*((B*B+1)/(2*B));
+
+ int k;
+ double t1=1;
+ double t2=0;
+ accumulate=DoubleComplex(t1,t2);
+ for(k=0;k
+#include
+#include "zpch2.h"
+#include "multiplication.h"
+#include "abs.h"
+#include "division.h"
+#define PI 3.14159265
+double dzpch2s(double N, double A, double omegar,doubleComplex* zeros,doubleComplex* poles)
+{
+ int k,j;
+ double e,xk,realVal,gain;
+ doubleComplex accumulate1,accumulate2,tp1,tp2;
+ accumulate1=DoubleComplex(1,0);
+ accumulate2=DoubleComplex(1,0);
+ int ct=0;
+ for(k=1;k<=N;k++)
+ {
+ if(k!=((N+1)/2))
+ {
+ ct++;
+ double num=PI*(2*k-1);
+ double den=2*N;
+ xk=cos(num/den);
+ double sk=omegar/xk;
+ zeros[k-1]=DoubleComplex(0,sk);
+ tp1=DoubleComplex(0,sk);
+ accumulate1=zmuls(accumulate1,tp1);
+ }
+ }
+ for(j=1;j<=N;j++)
+ {
+ double num=PI*(2*j-1);
+ double den=2*N;
+ double xk1=num/den;
+ double Gamma=pow((A+sqrt(A*A-1)),(1/N));
+ double alpha=-((Gamma-1/Gamma)/2)*sin(xk1);
+ double Beta=((Gamma+1/Gamma)/2)*cos(xk1);
+ double normal=alpha*alpha+Beta*Beta;
+ poles[j-1]=DoubleComplex((omegar*alpha)/normal,(omegar*Beta)/normal);
+ tp2=DoubleComplex((omegar*alpha)/normal,(omegar*Beta)/normal);
+ accumulate2=zmuls(accumulate2,tp2);
+ }
+ double qt;
+ double ra2=zreals(accumulate2);
+ double ra1=zreals(accumulate1);
+ qt=dldivs(ra1,ra2);
+ gain=dabss(qt);
+
+ return gain;
+
+}
+
diff --git a/src/c/signalProcessing/zpch2/int_zpch2.h b/src/c/signalProcessing/zpch2/int_zpch2.h
new file mode 100644
index 0000000..683a761
--- /dev/null
+++ b/src/c/signalProcessing/zpch2/int_zpch2.h
@@ -0,0 +1,18 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ZPCH2_H__
+#define __INT_ZPCH2_H__
+
+#define d0d0d0zpch2z2z2(N,A,omegar,zeros,poles) dzpch2s(N,A,omegar,zeros,poles)
+
+#endif /* !INT_ZPCH2_H__! */
diff --git a/src/c/signalProcessing/zpch2/zpch2.h b/src/c/signalProcessing/zpch2/zpch2.h
new file mode 100644
index 0000000..0d191d5
--- /dev/null
+++ b/src/c/signalProcessing/zpch2/zpch2.h
@@ -0,0 +1,28 @@
+/* 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: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ZPCH2_H__
+#define __ZPCH2_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dzpch2s(double N, double A, double omegar,doubleComplex* zeros,doubleComplex* poles);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __ZPCH2_H__ */
diff --git a/src/c/string/ascii/dasciia.c b/src/c/string/ascii/dasciia.c
new file mode 100644
index 0000000..d245288
--- /dev/null
+++ b/src/c/string/ascii/dasciia.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include
+#include "ascii.h"
+void dasciia(double* inp,int size,char* oup)
+{
+ int i;
+ for(i=0;i
+/* This is the "asciiconv" function which converts the given string
+ into its ascii equivalent.
+*/
+#include "ascii.h"
+void gasciia(char *str,int size,int* oup)
+{
+ int i;
+ for(i=0;i
+#include
+#include "strchr.h"
+
+void gstrchra(char* str,int size,char* key,int size2,char* out)
+{
+ int ind,i=0,j,k;
+ for(j=0;j
+#include
+#include "strcspn.h"
+uint8 gstrcspna(char *str1,int size1,char *str2,int size2)
+{
+ int ind,i,j;
+
+ for(i=0;i<=size1;i++)
+ {
+ for(j=0;j<=size2;j++)
+ {
+ if(str2[j]==str1[i])
+ {
+ ind=j;
+ break;
+ }
+ }
+ }
+ return (ind+1);
+}
+
diff --git a/src/c/string/strncpy/gstrncpya.c b/src/c/string/strncpy/gstrncpya.c
new file mode 100644
index 0000000..9280198
--- /dev/null
+++ b/src/c/string/strncpy/gstrncpya.c
@@ -0,0 +1,25 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Author: Ankit Raj
+ Email: toolbox@scilab.in
+*/
+#include
+#include "strncpy.h"
+void gstrncpya(char *str,int size,double key,char *oup)
+{
+ int j;
+ char c;
+ for(j=0;j
+#include "strspn.h"
+
+int maxg(int a,int b){
+ if(a>b) return a;
+ return b;
+}
+uint8 gstrspna(char *str1,int size1,char *str2,int size2)
+{
+ int i,j,ct=0,k=0,m=0;
+ for(i=0;i= size1) break;
+ }
+ if(j==size1)
+ {
+ ct=ct-1;
+ }
+ m = maxg(m,ct);
+ }
+ }
+return m;
+}
diff --git a/thirdparty/includes/GSL/gsl/gsl_blas.h b/thirdparty/includes/GSL/gsl/gsl_blas.h
new file mode 100644
index 0000000..7c42714
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_blas.h
@@ -0,0 +1,602 @@
+/* blas/gsl_blas.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/*
+ * Author: G. Jungman
+ */
+#ifndef __GSL_BLAS_H__
+#define __GSL_BLAS_H__
+
+#include
+#include
+
+#include
+
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+
+/* ========================================================================
+ * Level 1
+ * ========================================================================
+ */
+
+int gsl_blas_sdsdot (float alpha,
+ const gsl_vector_float * X,
+ const gsl_vector_float * Y,
+ float * result
+ );
+
+int gsl_blas_dsdot (const gsl_vector_float * X,
+ const gsl_vector_float * Y,
+ double * result
+ );
+
+int gsl_blas_sdot (const gsl_vector_float * X,
+ const gsl_vector_float * Y,
+ float * result
+ );
+
+int gsl_blas_ddot (const gsl_vector * X,
+ const gsl_vector * Y,
+ double * result
+ );
+
+
+int gsl_blas_cdotu (const gsl_vector_complex_float * X,
+ const gsl_vector_complex_float * Y,
+ gsl_complex_float * dotu);
+
+int gsl_blas_cdotc (const gsl_vector_complex_float * X,
+ const gsl_vector_complex_float * Y,
+ gsl_complex_float * dotc);
+
+int gsl_blas_zdotu (const gsl_vector_complex * X,
+ const gsl_vector_complex * Y,
+ gsl_complex * dotu);
+
+int gsl_blas_zdotc (const gsl_vector_complex * X,
+ const gsl_vector_complex * Y,
+ gsl_complex * dotc);
+
+
+float gsl_blas_snrm2 (const gsl_vector_float * X);
+float gsl_blas_sasum (const gsl_vector_float * X);
+double gsl_blas_dnrm2 (const gsl_vector * X);
+double gsl_blas_dasum (const gsl_vector * X);
+float gsl_blas_scnrm2 (const gsl_vector_complex_float * X);
+float gsl_blas_scasum (const gsl_vector_complex_float * X);
+double gsl_blas_dznrm2 (const gsl_vector_complex * X);
+double gsl_blas_dzasum (const gsl_vector_complex * X);
+
+
+CBLAS_INDEX_t gsl_blas_isamax (const gsl_vector_float * X);
+CBLAS_INDEX_t gsl_blas_idamax (const gsl_vector * X);
+CBLAS_INDEX_t gsl_blas_icamax (const gsl_vector_complex_float * X);
+CBLAS_INDEX_t gsl_blas_izamax (const gsl_vector_complex * X);
+
+
+int gsl_blas_sswap (gsl_vector_float * X,
+ gsl_vector_float * Y);
+
+int gsl_blas_scopy (const gsl_vector_float * X,
+ gsl_vector_float * Y);
+
+int gsl_blas_saxpy (float alpha,
+ const gsl_vector_float * X,
+ gsl_vector_float * Y);
+
+int gsl_blas_dswap (gsl_vector * X,
+ gsl_vector * Y);
+
+int gsl_blas_dcopy (const gsl_vector * X,
+ gsl_vector * Y);
+
+int gsl_blas_daxpy (double alpha,
+ const gsl_vector * X,
+ gsl_vector * Y);
+
+int gsl_blas_cswap (gsl_vector_complex_float * X,
+ gsl_vector_complex_float * Y);
+
+int gsl_blas_ccopy (const gsl_vector_complex_float * X,
+ gsl_vector_complex_float * Y);
+
+int gsl_blas_caxpy (const gsl_complex_float alpha,
+ const gsl_vector_complex_float * X,
+ gsl_vector_complex_float * Y);
+
+int gsl_blas_zswap (gsl_vector_complex * X,
+ gsl_vector_complex * Y);
+
+int gsl_blas_zcopy (const gsl_vector_complex * X,
+ gsl_vector_complex * Y);
+
+int gsl_blas_zaxpy (const gsl_complex alpha,
+ const gsl_vector_complex * X,
+ gsl_vector_complex * Y);
+
+
+int gsl_blas_srotg (float a[], float b[], float c[], float s[]);
+
+int gsl_blas_srotmg (float d1[], float d2[], float b1[], float b2, float P[]);
+
+int gsl_blas_srot (gsl_vector_float * X,
+ gsl_vector_float * Y,
+ float c, float s);
+
+int gsl_blas_srotm (gsl_vector_float * X,
+ gsl_vector_float * Y,
+ const float P[]);
+
+int gsl_blas_drotg (double a[], double b[], double c[], double s[]);
+
+int gsl_blas_drotmg (double d1[], double d2[], double b1[],
+ double b2, double P[]);
+
+int gsl_blas_drot (gsl_vector * X,
+ gsl_vector * Y,
+ const double c, const double s);
+
+int gsl_blas_drotm (gsl_vector * X,
+ gsl_vector * Y,
+ const double P[]);
+
+
+void gsl_blas_sscal (float alpha, gsl_vector_float * X);
+void gsl_blas_dscal (double alpha, gsl_vector * X);
+void gsl_blas_cscal (const gsl_complex_float alpha, gsl_vector_complex_float * X);
+void gsl_blas_zscal (const gsl_complex alpha, gsl_vector_complex * X);
+void gsl_blas_csscal (float alpha, gsl_vector_complex_float * X);
+void gsl_blas_zdscal (double alpha, gsl_vector_complex * X);
+
+
+/* ===========================================================================
+ * Level 2
+ * ===========================================================================
+ */
+
+/*
+ * Routines with standard 4 prefixes (S, D, C, Z)
+ */
+int gsl_blas_sgemv (CBLAS_TRANSPOSE_t TransA,
+ float alpha,
+ const gsl_matrix_float * A,
+ const gsl_vector_float * X,
+ float beta,
+ gsl_vector_float * Y);
+
+int gsl_blas_strmv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_float * A,
+ gsl_vector_float * X);
+
+int gsl_blas_strsv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_float * A,
+ gsl_vector_float * X);
+
+int gsl_blas_dgemv (CBLAS_TRANSPOSE_t TransA,
+ double alpha,
+ const gsl_matrix * A,
+ const gsl_vector * X,
+ double beta,
+ gsl_vector * Y);
+
+int gsl_blas_dtrmv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix * A,
+ gsl_vector * X);
+
+int gsl_blas_dtrsv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix * A,
+ gsl_vector * X);
+
+int gsl_blas_cgemv (CBLAS_TRANSPOSE_t TransA,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_vector_complex_float * X,
+ const gsl_complex_float beta,
+ gsl_vector_complex_float * Y);
+
+int gsl_blas_ctrmv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_complex_float * A,
+ gsl_vector_complex_float * X);
+
+int gsl_blas_ctrsv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_complex_float * A,
+ gsl_vector_complex_float * X);
+
+int gsl_blas_zgemv (CBLAS_TRANSPOSE_t TransA,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_vector_complex * X,
+ const gsl_complex beta,
+ gsl_vector_complex * Y);
+
+int gsl_blas_ztrmv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_complex * A,
+ gsl_vector_complex * X);
+
+int gsl_blas_ztrsv (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag,
+ const gsl_matrix_complex * A,
+ gsl_vector_complex *X);
+
+/*
+ * Routines with S and D prefixes only
+ */
+int gsl_blas_ssymv (CBLAS_UPLO_t Uplo,
+ float alpha,
+ const gsl_matrix_float * A,
+ const gsl_vector_float * X,
+ float beta,
+ gsl_vector_float * Y);
+
+int gsl_blas_sger (float alpha,
+ const gsl_vector_float * X,
+ const gsl_vector_float * Y,
+ gsl_matrix_float * A);
+
+int gsl_blas_ssyr (CBLAS_UPLO_t Uplo,
+ float alpha,
+ const gsl_vector_float * X,
+ gsl_matrix_float * A);
+
+int gsl_blas_ssyr2 (CBLAS_UPLO_t Uplo,
+ float alpha,
+ const gsl_vector_float * X,
+ const gsl_vector_float * Y,
+ gsl_matrix_float * A);
+
+int gsl_blas_dsymv (CBLAS_UPLO_t Uplo,
+ double alpha,
+ const gsl_matrix * A,
+ const gsl_vector * X,
+ double beta,
+ gsl_vector * Y);
+int gsl_blas_dger (double alpha,
+ const gsl_vector * X,
+ const gsl_vector * Y,
+ gsl_matrix * A);
+
+int gsl_blas_dsyr (CBLAS_UPLO_t Uplo,
+ double alpha,
+ const gsl_vector * X,
+ gsl_matrix * A);
+
+int gsl_blas_dsyr2 (CBLAS_UPLO_t Uplo,
+ double alpha,
+ const gsl_vector * X,
+ const gsl_vector * Y,
+ gsl_matrix * A);
+
+/*
+ * Routines with C and Z prefixes only
+ */
+
+int gsl_blas_chemv (CBLAS_UPLO_t Uplo,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_vector_complex_float * X,
+ const gsl_complex_float beta,
+ gsl_vector_complex_float * Y);
+
+int gsl_blas_cgeru (const gsl_complex_float alpha,
+ const gsl_vector_complex_float * X,
+ const gsl_vector_complex_float * Y,
+ gsl_matrix_complex_float * A);
+
+int gsl_blas_cgerc (const gsl_complex_float alpha,
+ const gsl_vector_complex_float * X,
+ const gsl_vector_complex_float * Y,
+ gsl_matrix_complex_float * A);
+
+int gsl_blas_cher (CBLAS_UPLO_t Uplo,
+ float alpha,
+ const gsl_vector_complex_float * X,
+ gsl_matrix_complex_float * A);
+
+int gsl_blas_cher2 (CBLAS_UPLO_t Uplo,
+ const gsl_complex_float alpha,
+ const gsl_vector_complex_float * X,
+ const gsl_vector_complex_float * Y,
+ gsl_matrix_complex_float * A);
+
+int gsl_blas_zhemv (CBLAS_UPLO_t Uplo,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_vector_complex * X,
+ const gsl_complex beta,
+ gsl_vector_complex * Y);
+
+int gsl_blas_zgeru (const gsl_complex alpha,
+ const gsl_vector_complex * X,
+ const gsl_vector_complex * Y,
+ gsl_matrix_complex * A);
+
+int gsl_blas_zgerc (const gsl_complex alpha,
+ const gsl_vector_complex * X,
+ const gsl_vector_complex * Y,
+ gsl_matrix_complex * A);
+
+int gsl_blas_zher (CBLAS_UPLO_t Uplo,
+ double alpha,
+ const gsl_vector_complex * X,
+ gsl_matrix_complex * A);
+
+int gsl_blas_zher2 (CBLAS_UPLO_t Uplo,
+ const gsl_complex alpha,
+ const gsl_vector_complex * X,
+ const gsl_vector_complex * Y,
+ gsl_matrix_complex * A);
+
+/*
+ * ===========================================================================
+ * Prototypes for level 3 BLAS
+ * ===========================================================================
+ */
+
+/*
+ * Routines with standard 4 prefixes (S, D, C, Z)
+ */
+int gsl_blas_sgemm (CBLAS_TRANSPOSE_t TransA,
+ CBLAS_TRANSPOSE_t TransB,
+ float alpha,
+ const gsl_matrix_float * A,
+ const gsl_matrix_float * B,
+ float beta,
+ gsl_matrix_float * C);
+
+int gsl_blas_ssymm (CBLAS_SIDE_t Side, CBLAS_UPLO_t Uplo,
+ float alpha,
+ const gsl_matrix_float * A,
+ const gsl_matrix_float * B,
+ float beta,
+ gsl_matrix_float * C);
+
+int gsl_blas_ssyrk (CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t Trans,
+ float alpha,
+ const gsl_matrix_float * A,
+ float beta,
+ gsl_matrix_float * C);
+
+int gsl_blas_ssyr2k (CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t Trans,
+ float alpha,
+ const gsl_matrix_float * A,
+ const gsl_matrix_float * B,
+ float beta,
+ gsl_matrix_float * C);
+
+int gsl_blas_strmm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ float alpha,
+ const gsl_matrix_float * A,
+ gsl_matrix_float * B);
+
+int gsl_blas_strsm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ float alpha,
+ const gsl_matrix_float * A,
+ gsl_matrix_float * B);
+
+int gsl_blas_dgemm (CBLAS_TRANSPOSE_t TransA,
+ CBLAS_TRANSPOSE_t TransB,
+ double alpha,
+ const gsl_matrix * A,
+ const gsl_matrix * B,
+ double beta,
+ gsl_matrix * C);
+
+int gsl_blas_dsymm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo,
+ double alpha,
+ const gsl_matrix * A,
+ const gsl_matrix * B,
+ double beta,
+ gsl_matrix * C);
+
+int gsl_blas_dsyrk (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ double alpha,
+ const gsl_matrix * A,
+ double beta,
+ gsl_matrix * C);
+
+int gsl_blas_dsyr2k (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ double alpha,
+ const gsl_matrix * A,
+ const gsl_matrix * B,
+ double beta,
+ gsl_matrix * C);
+
+int gsl_blas_dtrmm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ double alpha,
+ const gsl_matrix * A,
+ gsl_matrix * B);
+
+int gsl_blas_dtrsm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ double alpha,
+ const gsl_matrix * A,
+ gsl_matrix * B);
+
+int gsl_blas_cgemm (CBLAS_TRANSPOSE_t TransA,
+ CBLAS_TRANSPOSE_t TransB,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_matrix_complex_float * B,
+ const gsl_complex_float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_csymm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_matrix_complex_float * B,
+ const gsl_complex_float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_csyrk (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_complex_float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_csyr2k (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_matrix_complex_float * B,
+ const gsl_complex_float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_ctrmm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ gsl_matrix_complex_float * B);
+
+int gsl_blas_ctrsm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ gsl_matrix_complex_float * B);
+
+int gsl_blas_zgemm (CBLAS_TRANSPOSE_t TransA,
+ CBLAS_TRANSPOSE_t TransB,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_matrix_complex * B,
+ const gsl_complex beta,
+ gsl_matrix_complex * C);
+
+int gsl_blas_zsymm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_matrix_complex * B,
+ const gsl_complex beta,
+ gsl_matrix_complex * C);
+
+int gsl_blas_zsyrk (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_complex beta,
+ gsl_matrix_complex * C);
+
+int gsl_blas_zsyr2k (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_matrix_complex * B,
+ const gsl_complex beta,
+ gsl_matrix_complex *C);
+
+int gsl_blas_ztrmm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ gsl_matrix_complex * B);
+
+int gsl_blas_ztrsm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo, CBLAS_TRANSPOSE_t TransA,
+ CBLAS_DIAG_t Diag,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ gsl_matrix_complex * B);
+
+/*
+ * Routines with prefixes C and Z only
+ */
+int gsl_blas_chemm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_matrix_complex_float * B,
+ const gsl_complex_float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_cherk (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ float alpha,
+ const gsl_matrix_complex_float * A,
+ float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_cher2k (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex_float alpha,
+ const gsl_matrix_complex_float * A,
+ const gsl_matrix_complex_float * B,
+ float beta,
+ gsl_matrix_complex_float * C);
+
+int gsl_blas_zhemm (CBLAS_SIDE_t Side,
+ CBLAS_UPLO_t Uplo,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_matrix_complex * B,
+ const gsl_complex beta,
+ gsl_matrix_complex * C);
+
+int gsl_blas_zherk (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ double alpha,
+ const gsl_matrix_complex * A,
+ double beta,
+ gsl_matrix_complex * C);
+
+int gsl_blas_zher2k (CBLAS_UPLO_t Uplo,
+ CBLAS_TRANSPOSE_t Trans,
+ const gsl_complex alpha,
+ const gsl_matrix_complex * A,
+ const gsl_matrix_complex * B,
+ double beta,
+ gsl_matrix_complex * C);
+
+
+__END_DECLS
+
+#endif /* __GSL_BLAS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_blas_types.h b/thirdparty/includes/GSL/gsl/gsl_blas_types.h
new file mode 100644
index 0000000..923edb3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_blas_types.h
@@ -0,0 +1,54 @@
+/* blas/gsl_blas_types.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/*
+ * Author: G. Jungman
+ */
+/* Based on draft BLAST C interface specification [Jul 7 1998]
+ */
+#ifndef __GSL_BLAS_TYPES_H__
+#define __GSL_BLAS_TYPES_H__
+
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+typedef CBLAS_INDEX CBLAS_INDEX_t;
+typedef enum CBLAS_ORDER CBLAS_ORDER_t;
+typedef enum CBLAS_TRANSPOSE CBLAS_TRANSPOSE_t;
+typedef enum CBLAS_UPLO CBLAS_UPLO_t;
+typedef enum CBLAS_DIAG CBLAS_DIAG_t;
+typedef enum CBLAS_SIDE CBLAS_SIDE_t;
+
+/* typedef gsl_complex COMPLEX; */
+
+__END_DECLS
+
+
+#endif /* __GSL_BLAS_TYPES_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block.h b/thirdparty/includes/GSL/gsl/gsl_block.h
new file mode 100644
index 0000000..f1f9ef8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block.h
@@ -0,0 +1,24 @@
+#ifndef __GSL_BLOCK_H__
+#define __GSL_BLOCK_H__
+
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+#endif /* __GSL_BLOCK_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_char.h b/thirdparty/includes/GSL/gsl/gsl_block_char.h
new file mode 100644
index 0000000..70bf969
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_char.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_char.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_CHAR_H__
+#define __GSL_BLOCK_CHAR_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_char_struct
+{
+ size_t size;
+ char *data;
+};
+
+typedef struct gsl_block_char_struct gsl_block_char;
+
+gsl_block_char *gsl_block_char_alloc (const size_t n);
+gsl_block_char *gsl_block_char_calloc (const size_t n);
+void gsl_block_char_free (gsl_block_char * b);
+
+int gsl_block_char_fread (FILE * stream, gsl_block_char * b);
+int gsl_block_char_fwrite (FILE * stream, const gsl_block_char * b);
+int gsl_block_char_fscanf (FILE * stream, gsl_block_char * b);
+int gsl_block_char_fprintf (FILE * stream, const gsl_block_char * b, const char *format);
+
+int gsl_block_char_raw_fread (FILE * stream, char * b, const size_t n, const size_t stride);
+int gsl_block_char_raw_fwrite (FILE * stream, const char * b, const size_t n, const size_t stride);
+int gsl_block_char_raw_fscanf (FILE * stream, char * b, const size_t n, const size_t stride);
+int gsl_block_char_raw_fprintf (FILE * stream, const char * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_char_size (const gsl_block_char * b);
+char * gsl_block_char_data (const gsl_block_char * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_complex_double.h b/thirdparty/includes/GSL/gsl/gsl_block_complex_double.h
new file mode 100644
index 0000000..bcf66c0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_complex_double.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_complex_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_COMPLEX_DOUBLE_H__
+#define __GSL_BLOCK_COMPLEX_DOUBLE_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_complex_struct
+{
+ size_t size;
+ double *data;
+};
+
+typedef struct gsl_block_complex_struct gsl_block_complex;
+
+gsl_block_complex *gsl_block_complex_alloc (const size_t n);
+gsl_block_complex *gsl_block_complex_calloc (const size_t n);
+void gsl_block_complex_free (gsl_block_complex * b);
+
+int gsl_block_complex_fread (FILE * stream, gsl_block_complex * b);
+int gsl_block_complex_fwrite (FILE * stream, const gsl_block_complex * b);
+int gsl_block_complex_fscanf (FILE * stream, gsl_block_complex * b);
+int gsl_block_complex_fprintf (FILE * stream, const gsl_block_complex * b, const char *format);
+
+int gsl_block_complex_raw_fread (FILE * stream, double * b, const size_t n, const size_t stride);
+int gsl_block_complex_raw_fwrite (FILE * stream, const double * b, const size_t n, const size_t stride);
+int gsl_block_complex_raw_fscanf (FILE * stream, double * b, const size_t n, const size_t stride);
+int gsl_block_complex_raw_fprintf (FILE * stream, const double * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_complex_size (const gsl_block_complex * b);
+double * gsl_block_complex_data (const gsl_block_complex * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_COMPLEX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_block_complex_float.h
new file mode 100644
index 0000000..03595dc
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_complex_float.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_complex_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_COMPLEX_FLOAT_H__
+#define __GSL_BLOCK_COMPLEX_FLOAT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_complex_float_struct
+{
+ size_t size;
+ float *data;
+};
+
+typedef struct gsl_block_complex_float_struct gsl_block_complex_float;
+
+gsl_block_complex_float *gsl_block_complex_float_alloc (const size_t n);
+gsl_block_complex_float *gsl_block_complex_float_calloc (const size_t n);
+void gsl_block_complex_float_free (gsl_block_complex_float * b);
+
+int gsl_block_complex_float_fread (FILE * stream, gsl_block_complex_float * b);
+int gsl_block_complex_float_fwrite (FILE * stream, const gsl_block_complex_float * b);
+int gsl_block_complex_float_fscanf (FILE * stream, gsl_block_complex_float * b);
+int gsl_block_complex_float_fprintf (FILE * stream, const gsl_block_complex_float * b, const char *format);
+
+int gsl_block_complex_float_raw_fread (FILE * stream, float * b, const size_t n, const size_t stride);
+int gsl_block_complex_float_raw_fwrite (FILE * stream, const float * b, const size_t n, const size_t stride);
+int gsl_block_complex_float_raw_fscanf (FILE * stream, float * b, const size_t n, const size_t stride);
+int gsl_block_complex_float_raw_fprintf (FILE * stream, const float * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_complex_float_size (const gsl_block_complex_float * b);
+float * gsl_block_complex_float_data (const gsl_block_complex_float * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_complex_long_double.h b/thirdparty/includes/GSL/gsl/gsl_block_complex_long_double.h
new file mode 100644
index 0000000..eb0c605
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_complex_long_double.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_complex_long_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_COMPLEX_LONG_DOUBLE_H__
+#define __GSL_BLOCK_COMPLEX_LONG_DOUBLE_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_complex_long_double_struct
+{
+ size_t size;
+ long double *data;
+};
+
+typedef struct gsl_block_complex_long_double_struct gsl_block_complex_long_double;
+
+gsl_block_complex_long_double *gsl_block_complex_long_double_alloc (const size_t n);
+gsl_block_complex_long_double *gsl_block_complex_long_double_calloc (const size_t n);
+void gsl_block_complex_long_double_free (gsl_block_complex_long_double * b);
+
+int gsl_block_complex_long_double_fread (FILE * stream, gsl_block_complex_long_double * b);
+int gsl_block_complex_long_double_fwrite (FILE * stream, const gsl_block_complex_long_double * b);
+int gsl_block_complex_long_double_fscanf (FILE * stream, gsl_block_complex_long_double * b);
+int gsl_block_complex_long_double_fprintf (FILE * stream, const gsl_block_complex_long_double * b, const char *format);
+
+int gsl_block_complex_long_double_raw_fread (FILE * stream, long double * b, const size_t n, const size_t stride);
+int gsl_block_complex_long_double_raw_fwrite (FILE * stream, const long double * b, const size_t n, const size_t stride);
+int gsl_block_complex_long_double_raw_fscanf (FILE * stream, long double * b, const size_t n, const size_t stride);
+int gsl_block_complex_long_double_raw_fprintf (FILE * stream, const long double * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_complex_long_double_size (const gsl_block_complex_long_double * b);
+long double * gsl_block_complex_long_double_data (const gsl_block_complex_long_double * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_COMPLEX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_double.h b/thirdparty/includes/GSL/gsl/gsl_block_double.h
new file mode 100644
index 0000000..3a95f4d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_double.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_DOUBLE_H__
+#define __GSL_BLOCK_DOUBLE_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_struct
+{
+ size_t size;
+ double *data;
+};
+
+typedef struct gsl_block_struct gsl_block;
+
+gsl_block *gsl_block_alloc (const size_t n);
+gsl_block *gsl_block_calloc (const size_t n);
+void gsl_block_free (gsl_block * b);
+
+int gsl_block_fread (FILE * stream, gsl_block * b);
+int gsl_block_fwrite (FILE * stream, const gsl_block * b);
+int gsl_block_fscanf (FILE * stream, gsl_block * b);
+int gsl_block_fprintf (FILE * stream, const gsl_block * b, const char *format);
+
+int gsl_block_raw_fread (FILE * stream, double * b, const size_t n, const size_t stride);
+int gsl_block_raw_fwrite (FILE * stream, const double * b, const size_t n, const size_t stride);
+int gsl_block_raw_fscanf (FILE * stream, double * b, const size_t n, const size_t stride);
+int gsl_block_raw_fprintf (FILE * stream, const double * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_size (const gsl_block * b);
+double * gsl_block_data (const gsl_block * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_float.h b/thirdparty/includes/GSL/gsl/gsl_block_float.h
new file mode 100644
index 0000000..f1c3fb3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_float.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_FLOAT_H__
+#define __GSL_BLOCK_FLOAT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_float_struct
+{
+ size_t size;
+ float *data;
+};
+
+typedef struct gsl_block_float_struct gsl_block_float;
+
+gsl_block_float *gsl_block_float_alloc (const size_t n);
+gsl_block_float *gsl_block_float_calloc (const size_t n);
+void gsl_block_float_free (gsl_block_float * b);
+
+int gsl_block_float_fread (FILE * stream, gsl_block_float * b);
+int gsl_block_float_fwrite (FILE * stream, const gsl_block_float * b);
+int gsl_block_float_fscanf (FILE * stream, gsl_block_float * b);
+int gsl_block_float_fprintf (FILE * stream, const gsl_block_float * b, const char *format);
+
+int gsl_block_float_raw_fread (FILE * stream, float * b, const size_t n, const size_t stride);
+int gsl_block_float_raw_fwrite (FILE * stream, const float * b, const size_t n, const size_t stride);
+int gsl_block_float_raw_fscanf (FILE * stream, float * b, const size_t n, const size_t stride);
+int gsl_block_float_raw_fprintf (FILE * stream, const float * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_float_size (const gsl_block_float * b);
+float * gsl_block_float_data (const gsl_block_float * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_int.h b/thirdparty/includes/GSL/gsl/gsl_block_int.h
new file mode 100644
index 0000000..2213f47
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_int.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_int.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_INT_H__
+#define __GSL_BLOCK_INT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_int_struct
+{
+ size_t size;
+ int *data;
+};
+
+typedef struct gsl_block_int_struct gsl_block_int;
+
+gsl_block_int *gsl_block_int_alloc (const size_t n);
+gsl_block_int *gsl_block_int_calloc (const size_t n);
+void gsl_block_int_free (gsl_block_int * b);
+
+int gsl_block_int_fread (FILE * stream, gsl_block_int * b);
+int gsl_block_int_fwrite (FILE * stream, const gsl_block_int * b);
+int gsl_block_int_fscanf (FILE * stream, gsl_block_int * b);
+int gsl_block_int_fprintf (FILE * stream, const gsl_block_int * b, const char *format);
+
+int gsl_block_int_raw_fread (FILE * stream, int * b, const size_t n, const size_t stride);
+int gsl_block_int_raw_fwrite (FILE * stream, const int * b, const size_t n, const size_t stride);
+int gsl_block_int_raw_fscanf (FILE * stream, int * b, const size_t n, const size_t stride);
+int gsl_block_int_raw_fprintf (FILE * stream, const int * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_int_size (const gsl_block_int * b);
+int * gsl_block_int_data (const gsl_block_int * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_long.h b/thirdparty/includes/GSL/gsl/gsl_block_long.h
new file mode 100644
index 0000000..0c30aa5
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_long.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_long.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_LONG_H__
+#define __GSL_BLOCK_LONG_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_long_struct
+{
+ size_t size;
+ long *data;
+};
+
+typedef struct gsl_block_long_struct gsl_block_long;
+
+gsl_block_long *gsl_block_long_alloc (const size_t n);
+gsl_block_long *gsl_block_long_calloc (const size_t n);
+void gsl_block_long_free (gsl_block_long * b);
+
+int gsl_block_long_fread (FILE * stream, gsl_block_long * b);
+int gsl_block_long_fwrite (FILE * stream, const gsl_block_long * b);
+int gsl_block_long_fscanf (FILE * stream, gsl_block_long * b);
+int gsl_block_long_fprintf (FILE * stream, const gsl_block_long * b, const char *format);
+
+int gsl_block_long_raw_fread (FILE * stream, long * b, const size_t n, const size_t stride);
+int gsl_block_long_raw_fwrite (FILE * stream, const long * b, const size_t n, const size_t stride);
+int gsl_block_long_raw_fscanf (FILE * stream, long * b, const size_t n, const size_t stride);
+int gsl_block_long_raw_fprintf (FILE * stream, const long * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_long_size (const gsl_block_long * b);
+long * gsl_block_long_data (const gsl_block_long * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_long_double.h b/thirdparty/includes/GSL/gsl/gsl_block_long_double.h
new file mode 100644
index 0000000..639cd81
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_long_double.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_long_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_LONG_DOUBLE_H__
+#define __GSL_BLOCK_LONG_DOUBLE_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_long_double_struct
+{
+ size_t size;
+ long double *data;
+};
+
+typedef struct gsl_block_long_double_struct gsl_block_long_double;
+
+gsl_block_long_double *gsl_block_long_double_alloc (const size_t n);
+gsl_block_long_double *gsl_block_long_double_calloc (const size_t n);
+void gsl_block_long_double_free (gsl_block_long_double * b);
+
+int gsl_block_long_double_fread (FILE * stream, gsl_block_long_double * b);
+int gsl_block_long_double_fwrite (FILE * stream, const gsl_block_long_double * b);
+int gsl_block_long_double_fscanf (FILE * stream, gsl_block_long_double * b);
+int gsl_block_long_double_fprintf (FILE * stream, const gsl_block_long_double * b, const char *format);
+
+int gsl_block_long_double_raw_fread (FILE * stream, long double * b, const size_t n, const size_t stride);
+int gsl_block_long_double_raw_fwrite (FILE * stream, const long double * b, const size_t n, const size_t stride);
+int gsl_block_long_double_raw_fscanf (FILE * stream, long double * b, const size_t n, const size_t stride);
+int gsl_block_long_double_raw_fprintf (FILE * stream, const long double * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_long_double_size (const gsl_block_long_double * b);
+long double * gsl_block_long_double_data (const gsl_block_long_double * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_short.h b/thirdparty/includes/GSL/gsl/gsl_block_short.h
new file mode 100644
index 0000000..9744775
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_short.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_short.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_SHORT_H__
+#define __GSL_BLOCK_SHORT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_short_struct
+{
+ size_t size;
+ short *data;
+};
+
+typedef struct gsl_block_short_struct gsl_block_short;
+
+gsl_block_short *gsl_block_short_alloc (const size_t n);
+gsl_block_short *gsl_block_short_calloc (const size_t n);
+void gsl_block_short_free (gsl_block_short * b);
+
+int gsl_block_short_fread (FILE * stream, gsl_block_short * b);
+int gsl_block_short_fwrite (FILE * stream, const gsl_block_short * b);
+int gsl_block_short_fscanf (FILE * stream, gsl_block_short * b);
+int gsl_block_short_fprintf (FILE * stream, const gsl_block_short * b, const char *format);
+
+int gsl_block_short_raw_fread (FILE * stream, short * b, const size_t n, const size_t stride);
+int gsl_block_short_raw_fwrite (FILE * stream, const short * b, const size_t n, const size_t stride);
+int gsl_block_short_raw_fscanf (FILE * stream, short * b, const size_t n, const size_t stride);
+int gsl_block_short_raw_fprintf (FILE * stream, const short * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_short_size (const gsl_block_short * b);
+short * gsl_block_short_data (const gsl_block_short * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_uchar.h b/thirdparty/includes/GSL/gsl/gsl_block_uchar.h
new file mode 100644
index 0000000..58cf789
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_uchar.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_uchar.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_UCHAR_H__
+#define __GSL_BLOCK_UCHAR_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_uchar_struct
+{
+ size_t size;
+ unsigned char *data;
+};
+
+typedef struct gsl_block_uchar_struct gsl_block_uchar;
+
+gsl_block_uchar *gsl_block_uchar_alloc (const size_t n);
+gsl_block_uchar *gsl_block_uchar_calloc (const size_t n);
+void gsl_block_uchar_free (gsl_block_uchar * b);
+
+int gsl_block_uchar_fread (FILE * stream, gsl_block_uchar * b);
+int gsl_block_uchar_fwrite (FILE * stream, const gsl_block_uchar * b);
+int gsl_block_uchar_fscanf (FILE * stream, gsl_block_uchar * b);
+int gsl_block_uchar_fprintf (FILE * stream, const gsl_block_uchar * b, const char *format);
+
+int gsl_block_uchar_raw_fread (FILE * stream, unsigned char * b, const size_t n, const size_t stride);
+int gsl_block_uchar_raw_fwrite (FILE * stream, const unsigned char * b, const size_t n, const size_t stride);
+int gsl_block_uchar_raw_fscanf (FILE * stream, unsigned char * b, const size_t n, const size_t stride);
+int gsl_block_uchar_raw_fprintf (FILE * stream, const unsigned char * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_uchar_size (const gsl_block_uchar * b);
+unsigned char * gsl_block_uchar_data (const gsl_block_uchar * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_uint.h b/thirdparty/includes/GSL/gsl/gsl_block_uint.h
new file mode 100644
index 0000000..52cf2cb
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_uint.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_uint.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_UINT_H__
+#define __GSL_BLOCK_UINT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_uint_struct
+{
+ size_t size;
+ unsigned int *data;
+};
+
+typedef struct gsl_block_uint_struct gsl_block_uint;
+
+gsl_block_uint *gsl_block_uint_alloc (const size_t n);
+gsl_block_uint *gsl_block_uint_calloc (const size_t n);
+void gsl_block_uint_free (gsl_block_uint * b);
+
+int gsl_block_uint_fread (FILE * stream, gsl_block_uint * b);
+int gsl_block_uint_fwrite (FILE * stream, const gsl_block_uint * b);
+int gsl_block_uint_fscanf (FILE * stream, gsl_block_uint * b);
+int gsl_block_uint_fprintf (FILE * stream, const gsl_block_uint * b, const char *format);
+
+int gsl_block_uint_raw_fread (FILE * stream, unsigned int * b, const size_t n, const size_t stride);
+int gsl_block_uint_raw_fwrite (FILE * stream, const unsigned int * b, const size_t n, const size_t stride);
+int gsl_block_uint_raw_fscanf (FILE * stream, unsigned int * b, const size_t n, const size_t stride);
+int gsl_block_uint_raw_fprintf (FILE * stream, const unsigned int * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_uint_size (const gsl_block_uint * b);
+unsigned int * gsl_block_uint_data (const gsl_block_uint * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_ulong.h b/thirdparty/includes/GSL/gsl/gsl_block_ulong.h
new file mode 100644
index 0000000..863ff47
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_ulong.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_ulong.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_ULONG_H__
+#define __GSL_BLOCK_ULONG_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_ulong_struct
+{
+ size_t size;
+ unsigned long *data;
+};
+
+typedef struct gsl_block_ulong_struct gsl_block_ulong;
+
+gsl_block_ulong *gsl_block_ulong_alloc (const size_t n);
+gsl_block_ulong *gsl_block_ulong_calloc (const size_t n);
+void gsl_block_ulong_free (gsl_block_ulong * b);
+
+int gsl_block_ulong_fread (FILE * stream, gsl_block_ulong * b);
+int gsl_block_ulong_fwrite (FILE * stream, const gsl_block_ulong * b);
+int gsl_block_ulong_fscanf (FILE * stream, gsl_block_ulong * b);
+int gsl_block_ulong_fprintf (FILE * stream, const gsl_block_ulong * b, const char *format);
+
+int gsl_block_ulong_raw_fread (FILE * stream, unsigned long * b, const size_t n, const size_t stride);
+int gsl_block_ulong_raw_fwrite (FILE * stream, const unsigned long * b, const size_t n, const size_t stride);
+int gsl_block_ulong_raw_fscanf (FILE * stream, unsigned long * b, const size_t n, const size_t stride);
+int gsl_block_ulong_raw_fprintf (FILE * stream, const unsigned long * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_ulong_size (const gsl_block_ulong * b);
+unsigned long * gsl_block_ulong_data (const gsl_block_ulong * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_block_ushort.h b/thirdparty/includes/GSL/gsl/gsl_block_ushort.h
new file mode 100644
index 0000000..24ad7db
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_block_ushort.h
@@ -0,0 +1,65 @@
+/* block/gsl_block_ushort.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BLOCK_USHORT_H__
+#define __GSL_BLOCK_USHORT_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_block_ushort_struct
+{
+ size_t size;
+ unsigned short *data;
+};
+
+typedef struct gsl_block_ushort_struct gsl_block_ushort;
+
+gsl_block_ushort *gsl_block_ushort_alloc (const size_t n);
+gsl_block_ushort *gsl_block_ushort_calloc (const size_t n);
+void gsl_block_ushort_free (gsl_block_ushort * b);
+
+int gsl_block_ushort_fread (FILE * stream, gsl_block_ushort * b);
+int gsl_block_ushort_fwrite (FILE * stream, const gsl_block_ushort * b);
+int gsl_block_ushort_fscanf (FILE * stream, gsl_block_ushort * b);
+int gsl_block_ushort_fprintf (FILE * stream, const gsl_block_ushort * b, const char *format);
+
+int gsl_block_ushort_raw_fread (FILE * stream, unsigned short * b, const size_t n, const size_t stride);
+int gsl_block_ushort_raw_fwrite (FILE * stream, const unsigned short * b, const size_t n, const size_t stride);
+int gsl_block_ushort_raw_fscanf (FILE * stream, unsigned short * b, const size_t n, const size_t stride);
+int gsl_block_ushort_raw_fprintf (FILE * stream, const unsigned short * b, const size_t n, const size_t stride, const char *format);
+
+size_t gsl_block_ushort_size (const gsl_block_ushort * b);
+unsigned short * gsl_block_ushort_data (const gsl_block_ushort * b);
+
+__END_DECLS
+
+#endif /* __GSL_BLOCK_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_bspline.h b/thirdparty/includes/GSL/gsl/gsl_bspline.h
new file mode 100644
index 0000000..ac81377
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_bspline.h
@@ -0,0 +1,122 @@
+/* bspline/gsl_bspline.h
+ *
+ * Copyright (C) 2006 Patrick Alken
+ * Copyright (C) 2008 Rhys Ulerich
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_BSPLINE_H__
+#define __GSL_BSPLINE_H__
+
+#include
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+typedef struct
+{
+ size_t k; /* spline order */
+ size_t km1; /* k - 1 (polynomial order) */
+ size_t l; /* number of polynomial pieces on interval */
+ size_t nbreak; /* number of breakpoints (l + 1) */
+ size_t n; /* number of bspline basis functions (l + k - 1) */
+
+ gsl_vector *knots; /* knots vector */
+ gsl_vector *deltal; /* left delta */
+ gsl_vector *deltar; /* right delta */
+ gsl_vector *B; /* temporary spline results */
+
+ /* bspline derivative parameters */
+ gsl_matrix *A; /* work matrix */
+ gsl_matrix *dB; /* temporary derivative results */
+} gsl_bspline_workspace;
+
+#ifndef GSL_DISABLE_DEPRECATED
+
+typedef struct
+{
+ size_t k; /* spline order */
+ gsl_matrix *A; /* work matrix */
+ gsl_matrix *dB; /* temporary derivative results */
+} gsl_bspline_deriv_workspace;
+
+gsl_bspline_deriv_workspace *gsl_bspline_deriv_alloc(const size_t k);
+void gsl_bspline_deriv_free(gsl_bspline_deriv_workspace *w);
+
+#endif /* !GSL_DISABLE_DEPRECATED */
+
+gsl_bspline_workspace *
+gsl_bspline_alloc(const size_t k, const size_t nbreak);
+
+void gsl_bspline_free(gsl_bspline_workspace *w);
+
+size_t gsl_bspline_ncoeffs(gsl_bspline_workspace * w);
+size_t gsl_bspline_order(gsl_bspline_workspace * w);
+size_t gsl_bspline_nbreak(gsl_bspline_workspace * w);
+double gsl_bspline_breakpoint(size_t i, gsl_bspline_workspace * w);
+double gsl_bspline_greville_abscissa(size_t i, gsl_bspline_workspace *w);
+
+int
+gsl_bspline_knots(const gsl_vector *breakpts, gsl_bspline_workspace *w);
+
+int gsl_bspline_knots_uniform(const double a, const double b,
+ gsl_bspline_workspace *w);
+
+int
+gsl_bspline_knots_greville(const gsl_vector *abscissae,
+ gsl_bspline_workspace *w,
+ double *abserr);
+
+int
+gsl_bspline_eval(const double x, gsl_vector *B,
+ gsl_bspline_workspace *w);
+
+int
+gsl_bspline_eval_nonzero(const double x,
+ gsl_vector *Bk,
+ size_t *istart,
+ size_t *iend,
+ gsl_bspline_workspace *w);
+
+int
+gsl_bspline_deriv_eval(const double x,
+ const size_t nderiv,
+ gsl_matrix *dB,
+ gsl_bspline_workspace *w);
+
+int
+gsl_bspline_deriv_eval_nonzero(const double x,
+ const size_t nderiv,
+ gsl_matrix *dB,
+ size_t *istart,
+ size_t *iend,
+ gsl_bspline_workspace *w);
+
+__END_DECLS
+
+#endif /* __GSL_BSPLINE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_cblas.h b/thirdparty/includes/GSL/gsl/gsl_cblas.h
new file mode 100644
index 0000000..e90e3b0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_cblas.h
@@ -0,0 +1,606 @@
+/* blas/gsl_cblas.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* This is a copy of the CBLAS standard header.
+ * We carry this around so we do not have to
+ * break our model for flexible BLAS functionality.
+ */
+
+#ifndef __GSL_CBLAS_H__
+#define __GSL_CBLAS_H__
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+#define __BEGIN_DECLS extern "C" {
+#define __END_DECLS }
+#else
+#define __BEGIN_DECLS /* empty */
+#define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+/*
+ * Enumerated and derived types
+ */
+#define CBLAS_INDEX size_t /* this may vary between platforms */
+
+enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
+enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
+enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
+enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
+enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
+
+/*
+ * ===========================================================================
+ * Prototypes for level 1 BLAS functions (complex are recast as routines)
+ * ===========================================================================
+ */
+float cblas_sdsdot(const int N, const float alpha, const float *X,
+ const int incX, const float *Y, const int incY);
+double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
+ const int incY);
+float cblas_sdot(const int N, const float *X, const int incX,
+ const float *Y, const int incY);
+double cblas_ddot(const int N, const double *X, const int incX,
+ const double *Y, const int incY);
+
+/*
+ * Functions having prefixes Z and C only
+ */
+void cblas_cdotu_sub(const int N, const void *X, const int incX,
+ const void *Y, const int incY, void *dotu);
+void cblas_cdotc_sub(const int N, const void *X, const int incX,
+ const void *Y, const int incY, void *dotc);
+
+void cblas_zdotu_sub(const int N, const void *X, const int incX,
+ const void *Y, const int incY, void *dotu);
+void cblas_zdotc_sub(const int N, const void *X, const int incX,
+ const void *Y, const int incY, void *dotc);
+
+
+/*
+ * Functions having prefixes S D SC DZ
+ */
+float cblas_snrm2(const int N, const float *X, const int incX);
+float cblas_sasum(const int N, const float *X, const int incX);
+
+double cblas_dnrm2(const int N, const double *X, const int incX);
+double cblas_dasum(const int N, const double *X, const int incX);
+
+float cblas_scnrm2(const int N, const void *X, const int incX);
+float cblas_scasum(const int N, const void *X, const int incX);
+
+double cblas_dznrm2(const int N, const void *X, const int incX);
+double cblas_dzasum(const int N, const void *X, const int incX);
+
+
+/*
+ * Functions having standard 4 prefixes (S D C Z)
+ */
+CBLAS_INDEX cblas_isamax(const int N, const float *X, const int incX);
+CBLAS_INDEX cblas_idamax(const int N, const double *X, const int incX);
+CBLAS_INDEX cblas_icamax(const int N, const void *X, const int incX);
+CBLAS_INDEX cblas_izamax(const int N, const void *X, const int incX);
+
+/*
+ * ===========================================================================
+ * Prototypes for level 1 BLAS routines
+ * ===========================================================================
+ */
+
+/*
+ * Routines with standard 4 prefixes (s, d, c, z)
+ */
+void cblas_sswap(const int N, float *X, const int incX,
+ float *Y, const int incY);
+void cblas_scopy(const int N, const float *X, const int incX,
+ float *Y, const int incY);
+void cblas_saxpy(const int N, const float alpha, const float *X,
+ const int incX, float *Y, const int incY);
+
+void cblas_dswap(const int N, double *X, const int incX,
+ double *Y, const int incY);
+void cblas_dcopy(const int N, const double *X, const int incX,
+ double *Y, const int incY);
+void cblas_daxpy(const int N, const double alpha, const double *X,
+ const int incX, double *Y, const int incY);
+
+void cblas_cswap(const int N, void *X, const int incX,
+ void *Y, const int incY);
+void cblas_ccopy(const int N, const void *X, const int incX,
+ void *Y, const int incY);
+void cblas_caxpy(const int N, const void *alpha, const void *X,
+ const int incX, void *Y, const int incY);
+
+void cblas_zswap(const int N, void *X, const int incX,
+ void *Y, const int incY);
+void cblas_zcopy(const int N, const void *X, const int incX,
+ void *Y, const int incY);
+void cblas_zaxpy(const int N, const void *alpha, const void *X,
+ const int incX, void *Y, const int incY);
+
+
+/*
+ * Routines with S and D prefix only
+ */
+void cblas_srotg(float *a, float *b, float *c, float *s);
+void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
+void cblas_srot(const int N, float *X, const int incX,
+ float *Y, const int incY, const float c, const float s);
+void cblas_srotm(const int N, float *X, const int incX,
+ float *Y, const int incY, const float *P);
+
+void cblas_drotg(double *a, double *b, double *c, double *s);
+void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
+void cblas_drot(const int N, double *X, const int incX,
+ double *Y, const int incY, const double c, const double s);
+void cblas_drotm(const int N, double *X, const int incX,
+ double *Y, const int incY, const double *P);
+
+
+/*
+ * Routines with S D C Z CS and ZD prefixes
+ */
+void cblas_sscal(const int N, const float alpha, float *X, const int incX);
+void cblas_dscal(const int N, const double alpha, double *X, const int incX);
+void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
+void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
+void cblas_csscal(const int N, const float alpha, void *X, const int incX);
+void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
+
+/*
+ * ===========================================================================
+ * Prototypes for level 2 BLAS
+ * ===========================================================================
+ */
+
+/*
+ * Routines with standard 4 prefixes (S, D, C, Z)
+ */
+void cblas_sgemv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const float alpha, const float *A, const int lda,
+ const float *X, const int incX, const float beta,
+ float *Y, const int incY);
+void cblas_sgbmv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const int KL, const int KU, const float alpha,
+ const float *A, const int lda, const float *X,
+ const int incX, const float beta, float *Y, const int incY);
+void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const float *A, const int lda,
+ float *X, const int incX);
+void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const float *A, const int lda,
+ float *X, const int incX);
+void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const float *Ap, float *X, const int incX);
+void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const float *A, const int lda, float *X,
+ const int incX);
+void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const float *A, const int lda,
+ float *X, const int incX);
+void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const float *Ap, float *X, const int incX);
+
+void cblas_dgemv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const double alpha, const double *A, const int lda,
+ const double *X, const int incX, const double beta,
+ double *Y, const int incY);
+void cblas_dgbmv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const int KL, const int KU, const double alpha,
+ const double *A, const int lda, const double *X,
+ const int incX, const double beta, double *Y, const int incY);
+void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const double *A, const int lda,
+ double *X, const int incX);
+void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const double *A, const int lda,
+ double *X, const int incX);
+void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const double *Ap, double *X, const int incX);
+void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const double *A, const int lda, double *X,
+ const int incX);
+void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const double *A, const int lda,
+ double *X, const int incX);
+void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const double *Ap, double *X, const int incX);
+
+void cblas_cgemv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *X, const int incX, const void *beta,
+ void *Y, const int incY);
+void cblas_cgbmv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const int KL, const int KU, const void *alpha,
+ const void *A, const int lda, const void *X,
+ const int incX, const void *beta, void *Y, const int incY);
+void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *Ap, void *X, const int incX);
+void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *A, const int lda, void *X,
+ const int incX);
+void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *Ap, void *X, const int incX);
+
+void cblas_zgemv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *X, const int incX, const void *beta,
+ void *Y, const int incY);
+void cblas_zgbmv(const enum CBLAS_ORDER order,
+ const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
+ const int KL, const int KU, const void *alpha,
+ const void *A, const int lda, const void *X,
+ const int incX, const void *beta, void *Y, const int incY);
+void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *Ap, void *X, const int incX);
+void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *A, const int lda, void *X,
+ const int incX);
+void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const int K, const void *A, const int lda,
+ void *X, const int incX);
+void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
+ const int N, const void *Ap, void *X, const int incX);
+
+
+/*
+ * Routines with S and D prefixes only
+ */
+void cblas_ssymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *A,
+ const int lda, const float *X, const int incX,
+ const float beta, float *Y, const int incY);
+void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const int K, const float alpha, const float *A,
+ const int lda, const float *X, const int incX,
+ const float beta, float *Y, const int incY);
+void cblas_sspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *Ap,
+ const float *X, const int incX,
+ const float beta, float *Y, const int incY);
+void cblas_sger(const enum CBLAS_ORDER order, const int M, const int N,
+ const float alpha, const float *X, const int incX,
+ const float *Y, const int incY, float *A, const int lda);
+void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *X,
+ const int incX, float *A, const int lda);
+void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *X,
+ const int incX, float *Ap);
+void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *X,
+ const int incX, const float *Y, const int incY, float *A,
+ const int lda);
+void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const float *X,
+ const int incX, const float *Y, const int incY, float *A);
+
+void cblas_dsymv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *A,
+ const int lda, const double *X, const int incX,
+ const double beta, double *Y, const int incY);
+void cblas_dsbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const int K, const double alpha, const double *A,
+ const int lda, const double *X, const int incX,
+ const double beta, double *Y, const int incY);
+void cblas_dspmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *Ap,
+ const double *X, const int incX,
+ const double beta, double *Y, const int incY);
+void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N,
+ const double alpha, const double *X, const int incX,
+ const double *Y, const int incY, double *A, const int lda);
+void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *X,
+ const int incX, double *A, const int lda);
+void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *X,
+ const int incX, double *Ap);
+void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *X,
+ const int incX, const double *Y, const int incY, double *A,
+ const int lda);
+void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const double *X,
+ const int incX, const double *Y, const int incY, double *A);
+
+
+/*
+ * Routines with C and Z prefixes only
+ */
+void cblas_chemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const void *alpha, const void *A,
+ const int lda, const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_chbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const int K, const void *alpha, const void *A,
+ const int lda, const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_chpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const void *alpha, const void *Ap,
+ const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_cgeru(const enum CBLAS_ORDER order, const int M, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_cgerc(const enum CBLAS_ORDER order, const int M, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const void *X, const int incX,
+ void *A, const int lda);
+void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const float alpha, const void *X,
+ const int incX, void *A);
+void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *Ap);
+
+void cblas_zhemv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const void *alpha, const void *A,
+ const int lda, const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_zhbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const int K, const void *alpha, const void *A,
+ const int lda, const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_zhpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const void *alpha, const void *Ap,
+ const void *X, const int incX,
+ const void *beta, void *Y, const int incY);
+void cblas_zgeru(const enum CBLAS_ORDER order, const int M, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_zgerc(const enum CBLAS_ORDER order, const int M, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const void *X, const int incX,
+ void *A, const int lda);
+void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
+ const int N, const double alpha, const void *X,
+ const int incX, void *A);
+void cblas_zher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *A, const int lda);
+void cblas_zhpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo, const int N,
+ const void *alpha, const void *X, const int incX,
+ const void *Y, const int incY, void *Ap);
+
+/*
+ * ===========================================================================
+ * Prototypes for level 3 BLAS
+ * ===========================================================================
+ */
+
+/*
+ * Routines with standard 4 prefixes (S, D, C, Z)
+ */
+void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const float alpha, const float *A,
+ const int lda, const float *B, const int ldb,
+ const float beta, float *C, const int ldc);
+void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const float alpha, const float *A, const int lda,
+ const float *B, const int ldb, const float beta,
+ float *C, const int ldc);
+void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const float alpha, const float *A, const int lda,
+ const float beta, float *C, const int ldc);
+void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const float alpha, const float *A, const int lda,
+ const float *B, const int ldb, const float beta,
+ float *C, const int ldc);
+void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const float alpha, const float *A, const int lda,
+ float *B, const int ldb);
+void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const float alpha, const float *A, const int lda,
+ float *B, const int ldb);
+
+void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const double alpha, const double *A,
+ const int lda, const double *B, const int ldb,
+ const double beta, double *C, const int ldc);
+void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const double alpha, const double *A, const int lda,
+ const double *B, const int ldb, const double beta,
+ double *C, const int ldc);
+void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const double alpha, const double *A, const int lda,
+ const double beta, double *C, const int ldc);
+void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const double alpha, const double *A, const int lda,
+ const double *B, const int ldb, const double beta,
+ double *C, const int ldc);
+void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const double alpha, const double *A, const int lda,
+ double *B, const int ldb);
+void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const double alpha, const double *A, const int lda,
+ double *B, const int ldb);
+
+void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const void *alpha, const void *A,
+ const int lda, const void *B, const int ldb,
+ const void *beta, void *C, const int ldc);
+void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *beta, void *C, const int ldc);
+void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ void *B, const int ldb);
+void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ void *B, const int ldb);
+
+void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const void *alpha, const void *A,
+ const int lda, const void *B, const int ldb,
+ const void *beta, void *C, const int ldc);
+void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *beta, void *C, const int ldc);
+void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ void *B, const int ldb);
+void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
+ const enum CBLAS_DIAG Diag, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ void *B, const int ldb);
+
+
+/*
+ * Routines with prefixes C and Z only
+ */
+void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const float alpha, const void *A, const int lda,
+ const float beta, void *C, const int ldc);
+void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const float beta,
+ void *C, const int ldc);
+
+void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
+ const enum CBLAS_UPLO Uplo, const int M, const int N,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const void *beta,
+ void *C, const int ldc);
+void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const double alpha, const void *A, const int lda,
+ const double beta, void *C, const int ldc);
+void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
+ const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
+ const void *alpha, const void *A, const int lda,
+ const void *B, const int ldb, const double beta,
+ void *C, const int ldc);
+
+void cblas_xerbla(int p, const char *rout, const char *form, ...);
+
+__END_DECLS
+
+#endif /* __GSL_CBLAS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_cdf.h b/thirdparty/includes/GSL/gsl/gsl_cdf.h
new file mode 100644
index 0000000..2bc3fed
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_cdf.h
@@ -0,0 +1,170 @@
+/* cdf/gsl_cdf.h
+ *
+ * Copyright (C) 2002 Jason H. Stover.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* Author: J. Stover */
+
+#ifndef __GSL_CDF_H__
+#define __GSL_CDF_H__
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+double gsl_cdf_ugaussian_P (const double x);
+double gsl_cdf_ugaussian_Q (const double x);
+
+double gsl_cdf_ugaussian_Pinv (const double P);
+double gsl_cdf_ugaussian_Qinv (const double Q);
+
+double gsl_cdf_gaussian_P (const double x, const double sigma);
+double gsl_cdf_gaussian_Q (const double x, const double sigma);
+
+double gsl_cdf_gaussian_Pinv (const double P, const double sigma);
+double gsl_cdf_gaussian_Qinv (const double Q, const double sigma);
+
+double gsl_cdf_gamma_P (const double x, const double a, const double b);
+double gsl_cdf_gamma_Q (const double x, const double a, const double b);
+
+double gsl_cdf_gamma_Pinv (const double P, const double a, const double b);
+double gsl_cdf_gamma_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_cauchy_P (const double x, const double a);
+double gsl_cdf_cauchy_Q (const double x, const double a);
+
+double gsl_cdf_cauchy_Pinv (const double P, const double a);
+double gsl_cdf_cauchy_Qinv (const double Q, const double a);
+
+double gsl_cdf_laplace_P (const double x, const double a);
+double gsl_cdf_laplace_Q (const double x, const double a);
+
+double gsl_cdf_laplace_Pinv (const double P, const double a);
+double gsl_cdf_laplace_Qinv (const double Q, const double a);
+
+double gsl_cdf_rayleigh_P (const double x, const double sigma);
+double gsl_cdf_rayleigh_Q (const double x, const double sigma);
+
+double gsl_cdf_rayleigh_Pinv (const double P, const double sigma);
+double gsl_cdf_rayleigh_Qinv (const double Q, const double sigma);
+
+double gsl_cdf_chisq_P (const double x, const double nu);
+double gsl_cdf_chisq_Q (const double x, const double nu);
+
+double gsl_cdf_chisq_Pinv (const double P, const double nu);
+double gsl_cdf_chisq_Qinv (const double Q, const double nu);
+
+double gsl_cdf_exponential_P (const double x, const double mu);
+double gsl_cdf_exponential_Q (const double x, const double mu);
+
+double gsl_cdf_exponential_Pinv (const double P, const double mu);
+double gsl_cdf_exponential_Qinv (const double Q, const double mu);
+
+double gsl_cdf_exppow_P (const double x, const double a, const double b);
+double gsl_cdf_exppow_Q (const double x, const double a, const double b);
+
+double gsl_cdf_tdist_P (const double x, const double nu);
+double gsl_cdf_tdist_Q (const double x, const double nu);
+
+double gsl_cdf_tdist_Pinv (const double P, const double nu);
+double gsl_cdf_tdist_Qinv (const double Q, const double nu);
+
+double gsl_cdf_fdist_P (const double x, const double nu1, const double nu2);
+double gsl_cdf_fdist_Q (const double x, const double nu1, const double nu2);
+
+double gsl_cdf_fdist_Pinv (const double P, const double nu1, const double nu2);
+double gsl_cdf_fdist_Qinv (const double Q, const double nu1, const double nu2);
+
+double gsl_cdf_beta_P (const double x, const double a, const double b);
+double gsl_cdf_beta_Q (const double x, const double a, const double b);
+
+double gsl_cdf_beta_Pinv (const double P, const double a, const double b);
+double gsl_cdf_beta_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_flat_P (const double x, const double a, const double b);
+double gsl_cdf_flat_Q (const double x, const double a, const double b);
+
+double gsl_cdf_flat_Pinv (const double P, const double a, const double b);
+double gsl_cdf_flat_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_lognormal_P (const double x, const double zeta, const double sigma);
+double gsl_cdf_lognormal_Q (const double x, const double zeta, const double sigma);
+
+double gsl_cdf_lognormal_Pinv (const double P, const double zeta, const double sigma);
+double gsl_cdf_lognormal_Qinv (const double Q, const double zeta, const double sigma);
+
+double gsl_cdf_gumbel1_P (const double x, const double a, const double b);
+double gsl_cdf_gumbel1_Q (const double x, const double a, const double b);
+
+double gsl_cdf_gumbel1_Pinv (const double P, const double a, const double b);
+double gsl_cdf_gumbel1_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_gumbel2_P (const double x, const double a, const double b);
+double gsl_cdf_gumbel2_Q (const double x, const double a, const double b);
+
+double gsl_cdf_gumbel2_Pinv (const double P, const double a, const double b);
+double gsl_cdf_gumbel2_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_weibull_P (const double x, const double a, const double b);
+double gsl_cdf_weibull_Q (const double x, const double a, const double b);
+
+double gsl_cdf_weibull_Pinv (const double P, const double a, const double b);
+double gsl_cdf_weibull_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_pareto_P (const double x, const double a, const double b);
+double gsl_cdf_pareto_Q (const double x, const double a, const double b);
+
+double gsl_cdf_pareto_Pinv (const double P, const double a, const double b);
+double gsl_cdf_pareto_Qinv (const double Q, const double a, const double b);
+
+double gsl_cdf_logistic_P (const double x, const double a);
+double gsl_cdf_logistic_Q (const double x, const double a);
+
+double gsl_cdf_logistic_Pinv (const double P, const double a);
+double gsl_cdf_logistic_Qinv (const double Q, const double a);
+
+double gsl_cdf_binomial_P (const unsigned int k, const double p, const unsigned int n);
+double gsl_cdf_binomial_Q (const unsigned int k, const double p, const unsigned int n);
+
+double gsl_cdf_poisson_P (const unsigned int k, const double mu);
+double gsl_cdf_poisson_Q (const unsigned int k, const double mu);
+
+double gsl_cdf_geometric_P (const unsigned int k, const double p);
+double gsl_cdf_geometric_Q (const unsigned int k, const double p);
+
+double gsl_cdf_negative_binomial_P (const unsigned int k, const double p, const double n);
+double gsl_cdf_negative_binomial_Q (const unsigned int k, const double p, const double n);
+
+double gsl_cdf_pascal_P (const unsigned int k, const double p, const unsigned int n);
+double gsl_cdf_pascal_Q (const unsigned int k, const double p, const unsigned int n);
+
+double gsl_cdf_hypergeometric_P (const unsigned int k, const unsigned int n1,
+ const unsigned int n2, const unsigned int t);
+double gsl_cdf_hypergeometric_Q (const unsigned int k, const unsigned int n1,
+ const unsigned int n2, const unsigned int t);
+
+__END_DECLS
+
+#endif /* __GSL_CDF_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_chebyshev.h b/thirdparty/includes/GSL/gsl/gsl_chebyshev.h
new file mode 100644
index 0000000..858048e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_chebyshev.h
@@ -0,0 +1,133 @@
+/* cheb/gsl_chebyshev.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CHEBYSHEV_H__
+#define __GSL_CHEBYSHEV_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+
+/* data for a Chebyshev series over a given interval */
+
+struct gsl_cheb_series_struct {
+
+ double * c; /* coefficients */
+ size_t order; /* order of expansion */
+ double a; /* lower interval point */
+ double b; /* upper interval point */
+
+ /* The following exists (mostly) for the benefit
+ * of the implementation. It is an effective single
+ * precision order, for use in single precision
+ * evaluation. Users can use it if they like, but
+ * only they know how to calculate it, since it is
+ * specific to the approximated function. By default,
+ * order_sp = order.
+ * It is used explicitly only by the gsl_cheb_eval_mode
+ * functions, which are not meant for casual use.
+ */
+ size_t order_sp;
+
+ /* Additional elements not used by specfunc */
+
+ double * f; /* function evaluated at chebyschev points */
+};
+typedef struct gsl_cheb_series_struct gsl_cheb_series;
+
+
+/* Calculate a Chebyshev series of specified order over
+ * a specified interval, for a given function.
+ * Return 0 on failure.
+ */
+gsl_cheb_series * gsl_cheb_alloc(const size_t order);
+
+/* Free a Chebyshev series previously calculated with gsl_cheb_alloc().
+ */
+void gsl_cheb_free(gsl_cheb_series * cs);
+
+/* Calculate a Chebyshev series using the storage provided.
+ * Uses the interval (a,b) and the order with which it
+ * was initially created.
+ *
+ */
+int gsl_cheb_init(gsl_cheb_series * cs, const gsl_function * func,
+ const double a, const double b);
+
+/* Return the order, size of coefficient array and coefficient array ptr */
+size_t gsl_cheb_order (const gsl_cheb_series * cs);
+size_t gsl_cheb_size (const gsl_cheb_series * cs);
+double *gsl_cheb_coeffs (const gsl_cheb_series * cs);
+
+/* Evaluate a Chebyshev series at a given point.
+ * No errors can occur for a struct obtained from gsl_cheb_new().
+ */
+double gsl_cheb_eval(const gsl_cheb_series * cs, const double x);
+int gsl_cheb_eval_err(const gsl_cheb_series * cs, const double x,
+ double * result, double * abserr);
+
+
+/* Evaluate a Chebyshev series at a given point, to (at most) the given order.
+ * No errors can occur for a struct obtained from gsl_cheb_new().
+ */
+double gsl_cheb_eval_n(const gsl_cheb_series * cs, const size_t order,
+ const double x);
+int gsl_cheb_eval_n_err(const gsl_cheb_series * cs, const size_t order,
+ const double x, double * result, double * abserr);
+
+
+/* Evaluate a Chebyshev series at a given point, using the default
+ * order for double precision mode(s) and the single precision
+ * order for other modes.
+ * No errors can occur for a struct obtained from gsl_cheb_new().
+ */
+double gsl_cheb_eval_mode(const gsl_cheb_series * cs, const double x, gsl_mode_t mode);
+int gsl_cheb_eval_mode_e(const gsl_cheb_series * cs, const double x, gsl_mode_t mode, double * result, double * abserr);
+
+
+
+/* Compute the derivative of a Chebyshev series.
+ */
+int gsl_cheb_calc_deriv(gsl_cheb_series * deriv, const gsl_cheb_series * cs);
+
+/* Compute the integral of a Chebyshev series. The
+ * integral is fixed by the condition that it equals zero at
+ * the left end-point, ie it is precisely
+ * Integrate[cs(t; a,b), {t, a, x}]
+ */
+int gsl_cheb_calc_integ(gsl_cheb_series * integ, const gsl_cheb_series * cs);
+
+
+
+
+__END_DECLS
+
+#endif /* __GSL_CHEBYSHEV_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_check_range.h b/thirdparty/includes/GSL/gsl/gsl_check_range.h
new file mode 100644
index 0000000..d110b6b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_check_range.h
@@ -0,0 +1,57 @@
+/* vector/gsl_check_range.h
+ *
+ * Copyright (C) 2003, 2004, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CHECK_RANGE_H__
+#define __GSL_CHECK_RANGE_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+GSL_VAR int gsl_check_range;
+
+/* Turn range checking on by default, unless the user defines
+ GSL_RANGE_CHECK_OFF, or defines GSL_RANGE_CHECK to 0 explicitly */
+
+#ifdef GSL_RANGE_CHECK_OFF
+# ifndef GSL_RANGE_CHECK
+# define GSL_RANGE_CHECK 0
+# else
+# error "cannot set both GSL_RANGE_CHECK and GSL_RANGE_CHECK_OFF"
+# endif
+#else
+# ifndef GSL_RANGE_CHECK
+# define GSL_RANGE_CHECK 1
+# endif
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_CHECK_RANGE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_combination.h b/thirdparty/includes/GSL/gsl/gsl_combination.h
new file mode 100644
index 0000000..69de7cf
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_combination.h
@@ -0,0 +1,92 @@
+/* combination/gsl_combination.h
+ * based on permutation/gsl_permutation.h by Brian Gough
+ *
+ * Copyright (C) 2001 Szymon Jaroszewicz
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_COMBINATION_H__
+#define __GSL_COMBINATION_H__
+
+#include
+#include
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+struct gsl_combination_struct
+{
+ size_t n;
+ size_t k;
+ size_t *data;
+};
+
+typedef struct gsl_combination_struct gsl_combination;
+
+gsl_combination *gsl_combination_alloc (const size_t n, const size_t k);
+gsl_combination *gsl_combination_calloc (const size_t n, const size_t k);
+void gsl_combination_init_first (gsl_combination * c);
+void gsl_combination_init_last (gsl_combination * c);
+void gsl_combination_free (gsl_combination * c);
+int gsl_combination_memcpy (gsl_combination * dest, const gsl_combination * src);
+
+int gsl_combination_fread (FILE * stream, gsl_combination * c);
+int gsl_combination_fwrite (FILE * stream, const gsl_combination * c);
+int gsl_combination_fscanf (FILE * stream, gsl_combination * c);
+int gsl_combination_fprintf (FILE * stream, const gsl_combination * c, const char *format);
+
+size_t gsl_combination_n (const gsl_combination * c);
+size_t gsl_combination_k (const gsl_combination * c);
+size_t * gsl_combination_data (const gsl_combination * c);
+
+int gsl_combination_valid (gsl_combination * c);
+int gsl_combination_next (gsl_combination * c);
+int gsl_combination_prev (gsl_combination * c);
+
+INLINE_DECL size_t gsl_combination_get (const gsl_combination * c, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+size_t
+gsl_combination_get (const gsl_combination * c, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= c->k)) /* size_t is unsigned, can't be negative */
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return c->data[i];
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_COMBINATION_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_complex.h b/thirdparty/includes/GSL/gsl/gsl_complex.h
new file mode 100644
index 0000000..e77b770
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_complex.h
@@ -0,0 +1,103 @@
+/* complex/gsl_complex.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_COMPLEX_H__
+#define __GSL_COMPLEX_H__
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+
+/* two consecutive built-in types as a complex number */
+typedef double * gsl_complex_packed ;
+typedef float * gsl_complex_packed_float ;
+typedef long double * gsl_complex_packed_long_double ;
+
+typedef const double * gsl_const_complex_packed ;
+typedef const float * gsl_const_complex_packed_float ;
+typedef const long double * gsl_const_complex_packed_long_double ;
+
+
+/* 2N consecutive built-in types as N complex numbers */
+typedef double * gsl_complex_packed_array ;
+typedef float * gsl_complex_packed_array_float ;
+typedef long double * gsl_complex_packed_array_long_double ;
+
+typedef const double * gsl_const_complex_packed_array ;
+typedef const float * gsl_const_complex_packed_array_float ;
+typedef const long double * gsl_const_complex_packed_array_long_double ;
+
+
+/* Yes... this seems weird. Trust us. The point is just that
+ sometimes you want to make it obvious that something is
+ an output value. The fact that it lacks a 'const' may not
+ be enough of a clue for people in some contexts.
+ */
+typedef double * gsl_complex_packed_ptr ;
+typedef float * gsl_complex_packed_float_ptr ;
+typedef long double * gsl_complex_packed_long_double_ptr ;
+
+typedef const double * gsl_const_complex_packed_ptr ;
+typedef const float * gsl_const_complex_packed_float_ptr ;
+typedef const long double * gsl_const_complex_packed_long_double_ptr ;
+
+
+typedef struct
+ {
+ long double dat[2];
+ }
+gsl_complex_long_double;
+
+typedef struct
+ {
+ double dat[2];
+ }
+gsl_complex;
+
+typedef struct
+ {
+ float dat[2];
+ }
+gsl_complex_float;
+
+#define GSL_REAL(z) ((z).dat[0])
+#define GSL_IMAG(z) ((z).dat[1])
+#define GSL_COMPLEX_P(zp) ((zp)->dat)
+#define GSL_COMPLEX_P_REAL(zp) ((zp)->dat[0])
+#define GSL_COMPLEX_P_IMAG(zp) ((zp)->dat[1])
+#define GSL_COMPLEX_EQ(z1,z2) (((z1).dat[0] == (z2).dat[0]) && ((z1).dat[1] == (z2).dat[1]))
+
+#define GSL_SET_COMPLEX(zp,x,y) do {(zp)->dat[0]=(x); (zp)->dat[1]=(y);} while(0)
+#define GSL_SET_REAL(zp,x) do {(zp)->dat[0]=(x);} while(0)
+#define GSL_SET_IMAG(zp,y) do {(zp)->dat[1]=(y);} while(0)
+
+#define GSL_SET_COMPLEX_PACKED(zp,n,x,y) do {*((zp)+2*(n))=(x); *((zp)+(2*(n)+1))=(y);} while(0)
+
+__END_DECLS
+
+#endif /* __GSL_COMPLEX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_complex_math.h b/thirdparty/includes/GSL/gsl/gsl_complex_math.h
new file mode 100644
index 0000000..ad8d076
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_complex_math.h
@@ -0,0 +1,142 @@
+/* complex/gsl_complex_math.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004, 2007 Jorma Olavi Tähtinen, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_COMPLEX_MATH_H__
+#define __GSL_COMPLEX_MATH_H__
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+#define __BEGIN_DECLS extern "C" {
+#define __END_DECLS }
+#else
+#define __BEGIN_DECLS /* empty */
+#define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+/* Complex numbers */
+
+gsl_complex gsl_complex_polar (double r, double theta); /* r= r e^(i theta) */
+
+INLINE_DECL gsl_complex gsl_complex_rect (double x, double y); /* r= real+i*imag */
+
+#ifdef HAVE_INLINE
+INLINE_FUN gsl_complex
+gsl_complex_rect (double x, double y)
+{ /* return z = x + i y */
+ gsl_complex z;
+ GSL_SET_COMPLEX (&z, x, y);
+ return z;
+}
+#endif
+
+#define GSL_COMPLEX_ONE (gsl_complex_rect(1.0,0.0))
+#define GSL_COMPLEX_ZERO (gsl_complex_rect(0.0,0.0))
+#define GSL_COMPLEX_NEGONE (gsl_complex_rect(-1.0,0.0))
+
+/* Properties of complex numbers */
+
+double gsl_complex_arg (gsl_complex z); /* return arg(z), -pi< arg(z) <=+pi */
+double gsl_complex_abs (gsl_complex z); /* return |z| */
+double gsl_complex_abs2 (gsl_complex z); /* return |z|^2 */
+double gsl_complex_logabs (gsl_complex z); /* return log|z| */
+
+/* Complex arithmetic operators */
+
+gsl_complex gsl_complex_add (gsl_complex a, gsl_complex b); /* r=a+b */
+gsl_complex gsl_complex_sub (gsl_complex a, gsl_complex b); /* r=a-b */
+gsl_complex gsl_complex_mul (gsl_complex a, gsl_complex b); /* r=a*b */
+gsl_complex gsl_complex_div (gsl_complex a, gsl_complex b); /* r=a/b */
+
+gsl_complex gsl_complex_add_real (gsl_complex a, double x); /* r=a+x */
+gsl_complex gsl_complex_sub_real (gsl_complex a, double x); /* r=a-x */
+gsl_complex gsl_complex_mul_real (gsl_complex a, double x); /* r=a*x */
+gsl_complex gsl_complex_div_real (gsl_complex a, double x); /* r=a/x */
+
+gsl_complex gsl_complex_add_imag (gsl_complex a, double y); /* r=a+iy */
+gsl_complex gsl_complex_sub_imag (gsl_complex a, double y); /* r=a-iy */
+gsl_complex gsl_complex_mul_imag (gsl_complex a, double y); /* r=a*iy */
+gsl_complex gsl_complex_div_imag (gsl_complex a, double y); /* r=a/iy */
+
+gsl_complex gsl_complex_conjugate (gsl_complex z); /* r=conj(z) */
+gsl_complex gsl_complex_inverse (gsl_complex a); /* r=1/a */
+gsl_complex gsl_complex_negative (gsl_complex a); /* r=-a */
+
+/* Elementary Complex Functions */
+
+gsl_complex gsl_complex_sqrt (gsl_complex z); /* r=sqrt(z) */
+gsl_complex gsl_complex_sqrt_real (double x); /* r=sqrt(x) (x<0 ok) */
+
+gsl_complex gsl_complex_pow (gsl_complex a, gsl_complex b); /* r=a^b */
+gsl_complex gsl_complex_pow_real (gsl_complex a, double b); /* r=a^b */
+
+gsl_complex gsl_complex_exp (gsl_complex a); /* r=exp(a) */
+gsl_complex gsl_complex_log (gsl_complex a); /* r=log(a) (base e) */
+gsl_complex gsl_complex_log10 (gsl_complex a); /* r=log10(a) (base 10) */
+gsl_complex gsl_complex_log_b (gsl_complex a, gsl_complex b); /* r=log_b(a) (base=b) */
+
+/* Complex Trigonometric Functions */
+
+gsl_complex gsl_complex_sin (gsl_complex a); /* r=sin(a) */
+gsl_complex gsl_complex_cos (gsl_complex a); /* r=cos(a) */
+gsl_complex gsl_complex_sec (gsl_complex a); /* r=sec(a) */
+gsl_complex gsl_complex_csc (gsl_complex a); /* r=csc(a) */
+gsl_complex gsl_complex_tan (gsl_complex a); /* r=tan(a) */
+gsl_complex gsl_complex_cot (gsl_complex a); /* r=cot(a) */
+
+/* Inverse Complex Trigonometric Functions */
+
+gsl_complex gsl_complex_arcsin (gsl_complex a); /* r=arcsin(a) */
+gsl_complex gsl_complex_arcsin_real (double a); /* r=arcsin(a) */
+gsl_complex gsl_complex_arccos (gsl_complex a); /* r=arccos(a) */
+gsl_complex gsl_complex_arccos_real (double a); /* r=arccos(a) */
+gsl_complex gsl_complex_arcsec (gsl_complex a); /* r=arcsec(a) */
+gsl_complex gsl_complex_arcsec_real (double a); /* r=arcsec(a) */
+gsl_complex gsl_complex_arccsc (gsl_complex a); /* r=arccsc(a) */
+gsl_complex gsl_complex_arccsc_real (double a); /* r=arccsc(a) */
+gsl_complex gsl_complex_arctan (gsl_complex a); /* r=arctan(a) */
+gsl_complex gsl_complex_arccot (gsl_complex a); /* r=arccot(a) */
+
+/* Complex Hyperbolic Functions */
+
+gsl_complex gsl_complex_sinh (gsl_complex a); /* r=sinh(a) */
+gsl_complex gsl_complex_cosh (gsl_complex a); /* r=coshh(a) */
+gsl_complex gsl_complex_sech (gsl_complex a); /* r=sech(a) */
+gsl_complex gsl_complex_csch (gsl_complex a); /* r=csch(a) */
+gsl_complex gsl_complex_tanh (gsl_complex a); /* r=tanh(a) */
+gsl_complex gsl_complex_coth (gsl_complex a); /* r=coth(a) */
+
+/* Inverse Complex Hyperbolic Functions */
+
+gsl_complex gsl_complex_arcsinh (gsl_complex a); /* r=arcsinh(a) */
+gsl_complex gsl_complex_arccosh (gsl_complex a); /* r=arccosh(a) */
+gsl_complex gsl_complex_arccosh_real (double a); /* r=arccosh(a) */
+gsl_complex gsl_complex_arcsech (gsl_complex a); /* r=arcsech(a) */
+gsl_complex gsl_complex_arccsch (gsl_complex a); /* r=arccsch(a) */
+gsl_complex gsl_complex_arctanh (gsl_complex a); /* r=arctanh(a) */
+gsl_complex gsl_complex_arctanh_real (double a); /* r=arctanh(a) */
+gsl_complex gsl_complex_arccoth (gsl_complex a); /* r=arccoth(a) */
+
+__END_DECLS
+
+#endif /* __GSL_COMPLEX_MATH_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const.h b/thirdparty/includes/GSL/gsl/gsl_const.h
new file mode 100644
index 0000000..5d749dc
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const.h
@@ -0,0 +1,31 @@
+/* const/gsl_const.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST__
+#define __GSL_CONST__
+
+#include
+
+#include
+#include
+
+#include
+#include
+
+#endif /* __GSL_CONST__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const_cgs.h b/thirdparty/includes/GSL/gsl/gsl_const_cgs.h
new file mode 100644
index 0000000..ab95b7b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const_cgs.h
@@ -0,0 +1,116 @@
+/* const/gsl_const_cgs.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ * 2006, 2007, 2008, 2009 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST_CGS__
+#define __GSL_CONST_CGS__
+
+#define GSL_CONST_CGS_SPEED_OF_LIGHT (2.99792458e10) /* cm / s */
+#define GSL_CONST_CGS_GRAVITATIONAL_CONSTANT (6.673e-8) /* cm^3 / g s^2 */
+#define GSL_CONST_CGS_PLANCKS_CONSTANT_H (6.62606896e-27) /* g cm^2 / s */
+#define GSL_CONST_CGS_PLANCKS_CONSTANT_HBAR (1.05457162825e-27) /* g cm^2 / s */
+#define GSL_CONST_CGS_ASTRONOMICAL_UNIT (1.49597870691e13) /* cm */
+#define GSL_CONST_CGS_LIGHT_YEAR (9.46053620707e17) /* cm */
+#define GSL_CONST_CGS_PARSEC (3.08567758135e18) /* cm */
+#define GSL_CONST_CGS_GRAV_ACCEL (9.80665e2) /* cm / s^2 */
+#define GSL_CONST_CGS_ELECTRON_VOLT (1.602176487e-12) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_MASS_ELECTRON (9.10938188e-28) /* g */
+#define GSL_CONST_CGS_MASS_MUON (1.88353109e-25) /* g */
+#define GSL_CONST_CGS_MASS_PROTON (1.67262158e-24) /* g */
+#define GSL_CONST_CGS_MASS_NEUTRON (1.67492716e-24) /* g */
+#define GSL_CONST_CGS_RYDBERG (2.17987196968e-11) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_BOLTZMANN (1.3806504e-16) /* g cm^2 / K s^2 */
+#define GSL_CONST_CGS_MOLAR_GAS (8.314472e7) /* g cm^2 / K mol s^2 */
+#define GSL_CONST_CGS_STANDARD_GAS_VOLUME (2.2710981e4) /* cm^3 / mol */
+#define GSL_CONST_CGS_MINUTE (6e1) /* s */
+#define GSL_CONST_CGS_HOUR (3.6e3) /* s */
+#define GSL_CONST_CGS_DAY (8.64e4) /* s */
+#define GSL_CONST_CGS_WEEK (6.048e5) /* s */
+#define GSL_CONST_CGS_INCH (2.54e0) /* cm */
+#define GSL_CONST_CGS_FOOT (3.048e1) /* cm */
+#define GSL_CONST_CGS_YARD (9.144e1) /* cm */
+#define GSL_CONST_CGS_MILE (1.609344e5) /* cm */
+#define GSL_CONST_CGS_NAUTICAL_MILE (1.852e5) /* cm */
+#define GSL_CONST_CGS_FATHOM (1.8288e2) /* cm */
+#define GSL_CONST_CGS_MIL (2.54e-3) /* cm */
+#define GSL_CONST_CGS_POINT (3.52777777778e-2) /* cm */
+#define GSL_CONST_CGS_TEXPOINT (3.51459803515e-2) /* cm */
+#define GSL_CONST_CGS_MICRON (1e-4) /* cm */
+#define GSL_CONST_CGS_ANGSTROM (1e-8) /* cm */
+#define GSL_CONST_CGS_HECTARE (1e8) /* cm^2 */
+#define GSL_CONST_CGS_ACRE (4.04685642241e7) /* cm^2 */
+#define GSL_CONST_CGS_BARN (1e-24) /* cm^2 */
+#define GSL_CONST_CGS_LITER (1e3) /* cm^3 */
+#define GSL_CONST_CGS_US_GALLON (3.78541178402e3) /* cm^3 */
+#define GSL_CONST_CGS_QUART (9.46352946004e2) /* cm^3 */
+#define GSL_CONST_CGS_PINT (4.73176473002e2) /* cm^3 */
+#define GSL_CONST_CGS_CUP (2.36588236501e2) /* cm^3 */
+#define GSL_CONST_CGS_FLUID_OUNCE (2.95735295626e1) /* cm^3 */
+#define GSL_CONST_CGS_TABLESPOON (1.47867647813e1) /* cm^3 */
+#define GSL_CONST_CGS_TEASPOON (4.92892159375e0) /* cm^3 */
+#define GSL_CONST_CGS_CANADIAN_GALLON (4.54609e3) /* cm^3 */
+#define GSL_CONST_CGS_UK_GALLON (4.546092e3) /* cm^3 */
+#define GSL_CONST_CGS_MILES_PER_HOUR (4.4704e1) /* cm / s */
+#define GSL_CONST_CGS_KILOMETERS_PER_HOUR (2.77777777778e1) /* cm / s */
+#define GSL_CONST_CGS_KNOT (5.14444444444e1) /* cm / s */
+#define GSL_CONST_CGS_POUND_MASS (4.5359237e2) /* g */
+#define GSL_CONST_CGS_OUNCE_MASS (2.8349523125e1) /* g */
+#define GSL_CONST_CGS_TON (9.0718474e5) /* g */
+#define GSL_CONST_CGS_METRIC_TON (1e6) /* g */
+#define GSL_CONST_CGS_UK_TON (1.0160469088e6) /* g */
+#define GSL_CONST_CGS_TROY_OUNCE (3.1103475e1) /* g */
+#define GSL_CONST_CGS_CARAT (2e-1) /* g */
+#define GSL_CONST_CGS_UNIFIED_ATOMIC_MASS (1.660538782e-24) /* g */
+#define GSL_CONST_CGS_GRAM_FORCE (9.80665e2) /* cm g / s^2 */
+#define GSL_CONST_CGS_POUND_FORCE (4.44822161526e5) /* cm g / s^2 */
+#define GSL_CONST_CGS_KILOPOUND_FORCE (4.44822161526e8) /* cm g / s^2 */
+#define GSL_CONST_CGS_POUNDAL (1.38255e4) /* cm g / s^2 */
+#define GSL_CONST_CGS_CALORIE (4.1868e7) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_BTU (1.05505585262e10) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_THERM (1.05506e15) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_HORSEPOWER (7.457e9) /* g cm^2 / s^3 */
+#define GSL_CONST_CGS_BAR (1e6) /* g / cm s^2 */
+#define GSL_CONST_CGS_STD_ATMOSPHERE (1.01325e6) /* g / cm s^2 */
+#define GSL_CONST_CGS_TORR (1.33322368421e3) /* g / cm s^2 */
+#define GSL_CONST_CGS_METER_OF_MERCURY (1.33322368421e6) /* g / cm s^2 */
+#define GSL_CONST_CGS_INCH_OF_MERCURY (3.38638815789e4) /* g / cm s^2 */
+#define GSL_CONST_CGS_INCH_OF_WATER (2.490889e3) /* g / cm s^2 */
+#define GSL_CONST_CGS_PSI (6.89475729317e4) /* g / cm s^2 */
+#define GSL_CONST_CGS_POISE (1e0) /* g / cm s */
+#define GSL_CONST_CGS_STOKES (1e0) /* cm^2 / s */
+#define GSL_CONST_CGS_STILB (1e0) /* cd / cm^2 */
+#define GSL_CONST_CGS_LUMEN (1e0) /* cd sr */
+#define GSL_CONST_CGS_LUX (1e-4) /* cd sr / cm^2 */
+#define GSL_CONST_CGS_PHOT (1e0) /* cd sr / cm^2 */
+#define GSL_CONST_CGS_FOOTCANDLE (1.076e-3) /* cd sr / cm^2 */
+#define GSL_CONST_CGS_LAMBERT (1e0) /* cd sr / cm^2 */
+#define GSL_CONST_CGS_FOOTLAMBERT (1.07639104e-3) /* cd sr / cm^2 */
+#define GSL_CONST_CGS_CURIE (3.7e10) /* 1 / s */
+#define GSL_CONST_CGS_ROENTGEN (2.58e-7) /* A s / g */
+#define GSL_CONST_CGS_RAD (1e2) /* cm^2 / s^2 */
+#define GSL_CONST_CGS_SOLAR_MASS (1.98892e33) /* g */
+#define GSL_CONST_CGS_BOHR_RADIUS (5.291772083e-9) /* cm */
+#define GSL_CONST_CGS_NEWTON (1e5) /* cm g / s^2 */
+#define GSL_CONST_CGS_DYNE (1e0) /* cm g / s^2 */
+#define GSL_CONST_CGS_JOULE (1e7) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_ERG (1e0) /* g cm^2 / s^2 */
+#define GSL_CONST_CGS_STEFAN_BOLTZMANN_CONSTANT (5.67040047374e-5) /* g / K^4 s^3 */
+#define GSL_CONST_CGS_THOMSON_CROSS_SECTION (6.65245893699e-25) /* cm^2 */
+
+#endif /* __GSL_CONST_CGS__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const_cgsm.h b/thirdparty/includes/GSL/gsl/gsl_const_cgsm.h
new file mode 100644
index 0000000..2047e5e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const_cgsm.h
@@ -0,0 +1,122 @@
+/* const/gsl_const_cgsm.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ * 2006, 2007, 2008, 2009 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST_CGSM__
+#define __GSL_CONST_CGSM__
+
+#define GSL_CONST_CGSM_SPEED_OF_LIGHT (2.99792458e10) /* cm / s */
+#define GSL_CONST_CGSM_GRAVITATIONAL_CONSTANT (6.673e-8) /* cm^3 / g s^2 */
+#define GSL_CONST_CGSM_PLANCKS_CONSTANT_H (6.62606896e-27) /* g cm^2 / s */
+#define GSL_CONST_CGSM_PLANCKS_CONSTANT_HBAR (1.05457162825e-27) /* g cm^2 / s */
+#define GSL_CONST_CGSM_ASTRONOMICAL_UNIT (1.49597870691e13) /* cm */
+#define GSL_CONST_CGSM_LIGHT_YEAR (9.46053620707e17) /* cm */
+#define GSL_CONST_CGSM_PARSEC (3.08567758135e18) /* cm */
+#define GSL_CONST_CGSM_GRAV_ACCEL (9.80665e2) /* cm / s^2 */
+#define GSL_CONST_CGSM_ELECTRON_VOLT (1.602176487e-12) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_MASS_ELECTRON (9.10938188e-28) /* g */
+#define GSL_CONST_CGSM_MASS_MUON (1.88353109e-25) /* g */
+#define GSL_CONST_CGSM_MASS_PROTON (1.67262158e-24) /* g */
+#define GSL_CONST_CGSM_MASS_NEUTRON (1.67492716e-24) /* g */
+#define GSL_CONST_CGSM_RYDBERG (2.17987196968e-11) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_BOLTZMANN (1.3806504e-16) /* g cm^2 / K s^2 */
+#define GSL_CONST_CGSM_MOLAR_GAS (8.314472e7) /* g cm^2 / K mol s^2 */
+#define GSL_CONST_CGSM_STANDARD_GAS_VOLUME (2.2710981e4) /* cm^3 / mol */
+#define GSL_CONST_CGSM_MINUTE (6e1) /* s */
+#define GSL_CONST_CGSM_HOUR (3.6e3) /* s */
+#define GSL_CONST_CGSM_DAY (8.64e4) /* s */
+#define GSL_CONST_CGSM_WEEK (6.048e5) /* s */
+#define GSL_CONST_CGSM_INCH (2.54e0) /* cm */
+#define GSL_CONST_CGSM_FOOT (3.048e1) /* cm */
+#define GSL_CONST_CGSM_YARD (9.144e1) /* cm */
+#define GSL_CONST_CGSM_MILE (1.609344e5) /* cm */
+#define GSL_CONST_CGSM_NAUTICAL_MILE (1.852e5) /* cm */
+#define GSL_CONST_CGSM_FATHOM (1.8288e2) /* cm */
+#define GSL_CONST_CGSM_MIL (2.54e-3) /* cm */
+#define GSL_CONST_CGSM_POINT (3.52777777778e-2) /* cm */
+#define GSL_CONST_CGSM_TEXPOINT (3.51459803515e-2) /* cm */
+#define GSL_CONST_CGSM_MICRON (1e-4) /* cm */
+#define GSL_CONST_CGSM_ANGSTROM (1e-8) /* cm */
+#define GSL_CONST_CGSM_HECTARE (1e8) /* cm^2 */
+#define GSL_CONST_CGSM_ACRE (4.04685642241e7) /* cm^2 */
+#define GSL_CONST_CGSM_BARN (1e-24) /* cm^2 */
+#define GSL_CONST_CGSM_LITER (1e3) /* cm^3 */
+#define GSL_CONST_CGSM_US_GALLON (3.78541178402e3) /* cm^3 */
+#define GSL_CONST_CGSM_QUART (9.46352946004e2) /* cm^3 */
+#define GSL_CONST_CGSM_PINT (4.73176473002e2) /* cm^3 */
+#define GSL_CONST_CGSM_CUP (2.36588236501e2) /* cm^3 */
+#define GSL_CONST_CGSM_FLUID_OUNCE (2.95735295626e1) /* cm^3 */
+#define GSL_CONST_CGSM_TABLESPOON (1.47867647813e1) /* cm^3 */
+#define GSL_CONST_CGSM_TEASPOON (4.92892159375e0) /* cm^3 */
+#define GSL_CONST_CGSM_CANADIAN_GALLON (4.54609e3) /* cm^3 */
+#define GSL_CONST_CGSM_UK_GALLON (4.546092e3) /* cm^3 */
+#define GSL_CONST_CGSM_MILES_PER_HOUR (4.4704e1) /* cm / s */
+#define GSL_CONST_CGSM_KILOMETERS_PER_HOUR (2.77777777778e1) /* cm / s */
+#define GSL_CONST_CGSM_KNOT (5.14444444444e1) /* cm / s */
+#define GSL_CONST_CGSM_POUND_MASS (4.5359237e2) /* g */
+#define GSL_CONST_CGSM_OUNCE_MASS (2.8349523125e1) /* g */
+#define GSL_CONST_CGSM_TON (9.0718474e5) /* g */
+#define GSL_CONST_CGSM_METRIC_TON (1e6) /* g */
+#define GSL_CONST_CGSM_UK_TON (1.0160469088e6) /* g */
+#define GSL_CONST_CGSM_TROY_OUNCE (3.1103475e1) /* g */
+#define GSL_CONST_CGSM_CARAT (2e-1) /* g */
+#define GSL_CONST_CGSM_UNIFIED_ATOMIC_MASS (1.660538782e-24) /* g */
+#define GSL_CONST_CGSM_GRAM_FORCE (9.80665e2) /* cm g / s^2 */
+#define GSL_CONST_CGSM_POUND_FORCE (4.44822161526e5) /* cm g / s^2 */
+#define GSL_CONST_CGSM_KILOPOUND_FORCE (4.44822161526e8) /* cm g / s^2 */
+#define GSL_CONST_CGSM_POUNDAL (1.38255e4) /* cm g / s^2 */
+#define GSL_CONST_CGSM_CALORIE (4.1868e7) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_BTU (1.05505585262e10) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_THERM (1.05506e15) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_HORSEPOWER (7.457e9) /* g cm^2 / s^3 */
+#define GSL_CONST_CGSM_BAR (1e6) /* g / cm s^2 */
+#define GSL_CONST_CGSM_STD_ATMOSPHERE (1.01325e6) /* g / cm s^2 */
+#define GSL_CONST_CGSM_TORR (1.33322368421e3) /* g / cm s^2 */
+#define GSL_CONST_CGSM_METER_OF_MERCURY (1.33322368421e6) /* g / cm s^2 */
+#define GSL_CONST_CGSM_INCH_OF_MERCURY (3.38638815789e4) /* g / cm s^2 */
+#define GSL_CONST_CGSM_INCH_OF_WATER (2.490889e3) /* g / cm s^2 */
+#define GSL_CONST_CGSM_PSI (6.89475729317e4) /* g / cm s^2 */
+#define GSL_CONST_CGSM_POISE (1e0) /* g / cm s */
+#define GSL_CONST_CGSM_STOKES (1e0) /* cm^2 / s */
+#define GSL_CONST_CGSM_STILB (1e0) /* cd / cm^2 */
+#define GSL_CONST_CGSM_LUMEN (1e0) /* cd sr */
+#define GSL_CONST_CGSM_LUX (1e-4) /* cd sr / cm^2 */
+#define GSL_CONST_CGSM_PHOT (1e0) /* cd sr / cm^2 */
+#define GSL_CONST_CGSM_FOOTCANDLE (1.076e-3) /* cd sr / cm^2 */
+#define GSL_CONST_CGSM_LAMBERT (1e0) /* cd sr / cm^2 */
+#define GSL_CONST_CGSM_FOOTLAMBERT (1.07639104e-3) /* cd sr / cm^2 */
+#define GSL_CONST_CGSM_CURIE (3.7e10) /* 1 / s */
+#define GSL_CONST_CGSM_ROENTGEN (2.58e-8) /* abamp s / g */
+#define GSL_CONST_CGSM_RAD (1e2) /* cm^2 / s^2 */
+#define GSL_CONST_CGSM_SOLAR_MASS (1.98892e33) /* g */
+#define GSL_CONST_CGSM_BOHR_RADIUS (5.291772083e-9) /* cm */
+#define GSL_CONST_CGSM_NEWTON (1e5) /* cm g / s^2 */
+#define GSL_CONST_CGSM_DYNE (1e0) /* cm g / s^2 */
+#define GSL_CONST_CGSM_JOULE (1e7) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_ERG (1e0) /* g cm^2 / s^2 */
+#define GSL_CONST_CGSM_STEFAN_BOLTZMANN_CONSTANT (5.67040047374e-5) /* g / K^4 s^3 */
+#define GSL_CONST_CGSM_THOMSON_CROSS_SECTION (6.65245893699e-25) /* cm^2 */
+#define GSL_CONST_CGSM_BOHR_MAGNETON (9.27400899e-21) /* abamp cm^2 */
+#define GSL_CONST_CGSM_NUCLEAR_MAGNETON (5.05078317e-24) /* abamp cm^2 */
+#define GSL_CONST_CGSM_ELECTRON_MAGNETIC_MOMENT (9.28476362e-21) /* abamp cm^2 */
+#define GSL_CONST_CGSM_PROTON_MAGNETIC_MOMENT (1.410606633e-23) /* abamp cm^2 */
+#define GSL_CONST_CGSM_FARADAY (9.64853429775e3) /* abamp s / mol */
+#define GSL_CONST_CGSM_ELECTRON_CHARGE (1.602176487e-20) /* abamp s */
+
+#endif /* __GSL_CONST_CGSM__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const_mks.h b/thirdparty/includes/GSL/gsl/gsl_const_mks.h
new file mode 100644
index 0000000..bc60e2a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const_mks.h
@@ -0,0 +1,126 @@
+/* const/gsl_const_mks.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ * 2006, 2007, 2008, 2009 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST_MKS__
+#define __GSL_CONST_MKS__
+
+#define GSL_CONST_MKS_SPEED_OF_LIGHT (2.99792458e8) /* m / s */
+#define GSL_CONST_MKS_GRAVITATIONAL_CONSTANT (6.673e-11) /* m^3 / kg s^2 */
+#define GSL_CONST_MKS_PLANCKS_CONSTANT_H (6.62606896e-34) /* kg m^2 / s */
+#define GSL_CONST_MKS_PLANCKS_CONSTANT_HBAR (1.05457162825e-34) /* kg m^2 / s */
+#define GSL_CONST_MKS_ASTRONOMICAL_UNIT (1.49597870691e11) /* m */
+#define GSL_CONST_MKS_LIGHT_YEAR (9.46053620707e15) /* m */
+#define GSL_CONST_MKS_PARSEC (3.08567758135e16) /* m */
+#define GSL_CONST_MKS_GRAV_ACCEL (9.80665e0) /* m / s^2 */
+#define GSL_CONST_MKS_ELECTRON_VOLT (1.602176487e-19) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_MASS_ELECTRON (9.10938188e-31) /* kg */
+#define GSL_CONST_MKS_MASS_MUON (1.88353109e-28) /* kg */
+#define GSL_CONST_MKS_MASS_PROTON (1.67262158e-27) /* kg */
+#define GSL_CONST_MKS_MASS_NEUTRON (1.67492716e-27) /* kg */
+#define GSL_CONST_MKS_RYDBERG (2.17987196968e-18) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_BOLTZMANN (1.3806504e-23) /* kg m^2 / K s^2 */
+#define GSL_CONST_MKS_MOLAR_GAS (8.314472e0) /* kg m^2 / K mol s^2 */
+#define GSL_CONST_MKS_STANDARD_GAS_VOLUME (2.2710981e-2) /* m^3 / mol */
+#define GSL_CONST_MKS_MINUTE (6e1) /* s */
+#define GSL_CONST_MKS_HOUR (3.6e3) /* s */
+#define GSL_CONST_MKS_DAY (8.64e4) /* s */
+#define GSL_CONST_MKS_WEEK (6.048e5) /* s */
+#define GSL_CONST_MKS_INCH (2.54e-2) /* m */
+#define GSL_CONST_MKS_FOOT (3.048e-1) /* m */
+#define GSL_CONST_MKS_YARD (9.144e-1) /* m */
+#define GSL_CONST_MKS_MILE (1.609344e3) /* m */
+#define GSL_CONST_MKS_NAUTICAL_MILE (1.852e3) /* m */
+#define GSL_CONST_MKS_FATHOM (1.8288e0) /* m */
+#define GSL_CONST_MKS_MIL (2.54e-5) /* m */
+#define GSL_CONST_MKS_POINT (3.52777777778e-4) /* m */
+#define GSL_CONST_MKS_TEXPOINT (3.51459803515e-4) /* m */
+#define GSL_CONST_MKS_MICRON (1e-6) /* m */
+#define GSL_CONST_MKS_ANGSTROM (1e-10) /* m */
+#define GSL_CONST_MKS_HECTARE (1e4) /* m^2 */
+#define GSL_CONST_MKS_ACRE (4.04685642241e3) /* m^2 */
+#define GSL_CONST_MKS_BARN (1e-28) /* m^2 */
+#define GSL_CONST_MKS_LITER (1e-3) /* m^3 */
+#define GSL_CONST_MKS_US_GALLON (3.78541178402e-3) /* m^3 */
+#define GSL_CONST_MKS_QUART (9.46352946004e-4) /* m^3 */
+#define GSL_CONST_MKS_PINT (4.73176473002e-4) /* m^3 */
+#define GSL_CONST_MKS_CUP (2.36588236501e-4) /* m^3 */
+#define GSL_CONST_MKS_FLUID_OUNCE (2.95735295626e-5) /* m^3 */
+#define GSL_CONST_MKS_TABLESPOON (1.47867647813e-5) /* m^3 */
+#define GSL_CONST_MKS_TEASPOON (4.92892159375e-6) /* m^3 */
+#define GSL_CONST_MKS_CANADIAN_GALLON (4.54609e-3) /* m^3 */
+#define GSL_CONST_MKS_UK_GALLON (4.546092e-3) /* m^3 */
+#define GSL_CONST_MKS_MILES_PER_HOUR (4.4704e-1) /* m / s */
+#define GSL_CONST_MKS_KILOMETERS_PER_HOUR (2.77777777778e-1) /* m / s */
+#define GSL_CONST_MKS_KNOT (5.14444444444e-1) /* m / s */
+#define GSL_CONST_MKS_POUND_MASS (4.5359237e-1) /* kg */
+#define GSL_CONST_MKS_OUNCE_MASS (2.8349523125e-2) /* kg */
+#define GSL_CONST_MKS_TON (9.0718474e2) /* kg */
+#define GSL_CONST_MKS_METRIC_TON (1e3) /* kg */
+#define GSL_CONST_MKS_UK_TON (1.0160469088e3) /* kg */
+#define GSL_CONST_MKS_TROY_OUNCE (3.1103475e-2) /* kg */
+#define GSL_CONST_MKS_CARAT (2e-4) /* kg */
+#define GSL_CONST_MKS_UNIFIED_ATOMIC_MASS (1.660538782e-27) /* kg */
+#define GSL_CONST_MKS_GRAM_FORCE (9.80665e-3) /* kg m / s^2 */
+#define GSL_CONST_MKS_POUND_FORCE (4.44822161526e0) /* kg m / s^2 */
+#define GSL_CONST_MKS_KILOPOUND_FORCE (4.44822161526e3) /* kg m / s^2 */
+#define GSL_CONST_MKS_POUNDAL (1.38255e-1) /* kg m / s^2 */
+#define GSL_CONST_MKS_CALORIE (4.1868e0) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_BTU (1.05505585262e3) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_THERM (1.05506e8) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_HORSEPOWER (7.457e2) /* kg m^2 / s^3 */
+#define GSL_CONST_MKS_BAR (1e5) /* kg / m s^2 */
+#define GSL_CONST_MKS_STD_ATMOSPHERE (1.01325e5) /* kg / m s^2 */
+#define GSL_CONST_MKS_TORR (1.33322368421e2) /* kg / m s^2 */
+#define GSL_CONST_MKS_METER_OF_MERCURY (1.33322368421e5) /* kg / m s^2 */
+#define GSL_CONST_MKS_INCH_OF_MERCURY (3.38638815789e3) /* kg / m s^2 */
+#define GSL_CONST_MKS_INCH_OF_WATER (2.490889e2) /* kg / m s^2 */
+#define GSL_CONST_MKS_PSI (6.89475729317e3) /* kg / m s^2 */
+#define GSL_CONST_MKS_POISE (1e-1) /* kg m^-1 s^-1 */
+#define GSL_CONST_MKS_STOKES (1e-4) /* m^2 / s */
+#define GSL_CONST_MKS_STILB (1e4) /* cd / m^2 */
+#define GSL_CONST_MKS_LUMEN (1e0) /* cd sr */
+#define GSL_CONST_MKS_LUX (1e0) /* cd sr / m^2 */
+#define GSL_CONST_MKS_PHOT (1e4) /* cd sr / m^2 */
+#define GSL_CONST_MKS_FOOTCANDLE (1.076e1) /* cd sr / m^2 */
+#define GSL_CONST_MKS_LAMBERT (1e4) /* cd sr / m^2 */
+#define GSL_CONST_MKS_FOOTLAMBERT (1.07639104e1) /* cd sr / m^2 */
+#define GSL_CONST_MKS_CURIE (3.7e10) /* 1 / s */
+#define GSL_CONST_MKS_ROENTGEN (2.58e-4) /* A s / kg */
+#define GSL_CONST_MKS_RAD (1e-2) /* m^2 / s^2 */
+#define GSL_CONST_MKS_SOLAR_MASS (1.98892e30) /* kg */
+#define GSL_CONST_MKS_BOHR_RADIUS (5.291772083e-11) /* m */
+#define GSL_CONST_MKS_NEWTON (1e0) /* kg m / s^2 */
+#define GSL_CONST_MKS_DYNE (1e-5) /* kg m / s^2 */
+#define GSL_CONST_MKS_JOULE (1e0) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_ERG (1e-7) /* kg m^2 / s^2 */
+#define GSL_CONST_MKS_STEFAN_BOLTZMANN_CONSTANT (5.67040047374e-8) /* kg / K^4 s^3 */
+#define GSL_CONST_MKS_THOMSON_CROSS_SECTION (6.65245893699e-29) /* m^2 */
+#define GSL_CONST_MKS_BOHR_MAGNETON (9.27400899e-24) /* A m^2 */
+#define GSL_CONST_MKS_NUCLEAR_MAGNETON (5.05078317e-27) /* A m^2 */
+#define GSL_CONST_MKS_ELECTRON_MAGNETIC_MOMENT (9.28476362e-24) /* A m^2 */
+#define GSL_CONST_MKS_PROTON_MAGNETIC_MOMENT (1.410606633e-26) /* A m^2 */
+#define GSL_CONST_MKS_FARADAY (9.64853429775e4) /* A s / mol */
+#define GSL_CONST_MKS_ELECTRON_CHARGE (1.602176487e-19) /* A s */
+#define GSL_CONST_MKS_VACUUM_PERMITTIVITY (8.854187817e-12) /* A^2 s^4 / kg m^3 */
+#define GSL_CONST_MKS_VACUUM_PERMEABILITY (1.25663706144e-6) /* kg m / A^2 s^2 */
+#define GSL_CONST_MKS_DEBYE (3.33564095198e-30) /* A s^2 / m^2 */
+#define GSL_CONST_MKS_GAUSS (1e-4) /* kg / A s^2 */
+
+#endif /* __GSL_CONST_MKS__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const_mksa.h b/thirdparty/includes/GSL/gsl/gsl_const_mksa.h
new file mode 100644
index 0000000..5d91d1c
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const_mksa.h
@@ -0,0 +1,126 @@
+/* const/gsl_const_mksa.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ * 2006, 2007, 2008, 2009 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST_MKSA__
+#define __GSL_CONST_MKSA__
+
+#define GSL_CONST_MKSA_SPEED_OF_LIGHT (2.99792458e8) /* m / s */
+#define GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT (6.673e-11) /* m^3 / kg s^2 */
+#define GSL_CONST_MKSA_PLANCKS_CONSTANT_H (6.62606896e-34) /* kg m^2 / s */
+#define GSL_CONST_MKSA_PLANCKS_CONSTANT_HBAR (1.05457162825e-34) /* kg m^2 / s */
+#define GSL_CONST_MKSA_ASTRONOMICAL_UNIT (1.49597870691e11) /* m */
+#define GSL_CONST_MKSA_LIGHT_YEAR (9.46053620707e15) /* m */
+#define GSL_CONST_MKSA_PARSEC (3.08567758135e16) /* m */
+#define GSL_CONST_MKSA_GRAV_ACCEL (9.80665e0) /* m / s^2 */
+#define GSL_CONST_MKSA_ELECTRON_VOLT (1.602176487e-19) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_MASS_ELECTRON (9.10938188e-31) /* kg */
+#define GSL_CONST_MKSA_MASS_MUON (1.88353109e-28) /* kg */
+#define GSL_CONST_MKSA_MASS_PROTON (1.67262158e-27) /* kg */
+#define GSL_CONST_MKSA_MASS_NEUTRON (1.67492716e-27) /* kg */
+#define GSL_CONST_MKSA_RYDBERG (2.17987196968e-18) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_BOLTZMANN (1.3806504e-23) /* kg m^2 / K s^2 */
+#define GSL_CONST_MKSA_MOLAR_GAS (8.314472e0) /* kg m^2 / K mol s^2 */
+#define GSL_CONST_MKSA_STANDARD_GAS_VOLUME (2.2710981e-2) /* m^3 / mol */
+#define GSL_CONST_MKSA_MINUTE (6e1) /* s */
+#define GSL_CONST_MKSA_HOUR (3.6e3) /* s */
+#define GSL_CONST_MKSA_DAY (8.64e4) /* s */
+#define GSL_CONST_MKSA_WEEK (6.048e5) /* s */
+#define GSL_CONST_MKSA_INCH (2.54e-2) /* m */
+#define GSL_CONST_MKSA_FOOT (3.048e-1) /* m */
+#define GSL_CONST_MKSA_YARD (9.144e-1) /* m */
+#define GSL_CONST_MKSA_MILE (1.609344e3) /* m */
+#define GSL_CONST_MKSA_NAUTICAL_MILE (1.852e3) /* m */
+#define GSL_CONST_MKSA_FATHOM (1.8288e0) /* m */
+#define GSL_CONST_MKSA_MIL (2.54e-5) /* m */
+#define GSL_CONST_MKSA_POINT (3.52777777778e-4) /* m */
+#define GSL_CONST_MKSA_TEXPOINT (3.51459803515e-4) /* m */
+#define GSL_CONST_MKSA_MICRON (1e-6) /* m */
+#define GSL_CONST_MKSA_ANGSTROM (1e-10) /* m */
+#define GSL_CONST_MKSA_HECTARE (1e4) /* m^2 */
+#define GSL_CONST_MKSA_ACRE (4.04685642241e3) /* m^2 */
+#define GSL_CONST_MKSA_BARN (1e-28) /* m^2 */
+#define GSL_CONST_MKSA_LITER (1e-3) /* m^3 */
+#define GSL_CONST_MKSA_US_GALLON (3.78541178402e-3) /* m^3 */
+#define GSL_CONST_MKSA_QUART (9.46352946004e-4) /* m^3 */
+#define GSL_CONST_MKSA_PINT (4.73176473002e-4) /* m^3 */
+#define GSL_CONST_MKSA_CUP (2.36588236501e-4) /* m^3 */
+#define GSL_CONST_MKSA_FLUID_OUNCE (2.95735295626e-5) /* m^3 */
+#define GSL_CONST_MKSA_TABLESPOON (1.47867647813e-5) /* m^3 */
+#define GSL_CONST_MKSA_TEASPOON (4.92892159375e-6) /* m^3 */
+#define GSL_CONST_MKSA_CANADIAN_GALLON (4.54609e-3) /* m^3 */
+#define GSL_CONST_MKSA_UK_GALLON (4.546092e-3) /* m^3 */
+#define GSL_CONST_MKSA_MILES_PER_HOUR (4.4704e-1) /* m / s */
+#define GSL_CONST_MKSA_KILOMETERS_PER_HOUR (2.77777777778e-1) /* m / s */
+#define GSL_CONST_MKSA_KNOT (5.14444444444e-1) /* m / s */
+#define GSL_CONST_MKSA_POUND_MASS (4.5359237e-1) /* kg */
+#define GSL_CONST_MKSA_OUNCE_MASS (2.8349523125e-2) /* kg */
+#define GSL_CONST_MKSA_TON (9.0718474e2) /* kg */
+#define GSL_CONST_MKSA_METRIC_TON (1e3) /* kg */
+#define GSL_CONST_MKSA_UK_TON (1.0160469088e3) /* kg */
+#define GSL_CONST_MKSA_TROY_OUNCE (3.1103475e-2) /* kg */
+#define GSL_CONST_MKSA_CARAT (2e-4) /* kg */
+#define GSL_CONST_MKSA_UNIFIED_ATOMIC_MASS (1.660538782e-27) /* kg */
+#define GSL_CONST_MKSA_GRAM_FORCE (9.80665e-3) /* kg m / s^2 */
+#define GSL_CONST_MKSA_POUND_FORCE (4.44822161526e0) /* kg m / s^2 */
+#define GSL_CONST_MKSA_KILOPOUND_FORCE (4.44822161526e3) /* kg m / s^2 */
+#define GSL_CONST_MKSA_POUNDAL (1.38255e-1) /* kg m / s^2 */
+#define GSL_CONST_MKSA_CALORIE (4.1868e0) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_BTU (1.05505585262e3) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_THERM (1.05506e8) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_HORSEPOWER (7.457e2) /* kg m^2 / s^3 */
+#define GSL_CONST_MKSA_BAR (1e5) /* kg / m s^2 */
+#define GSL_CONST_MKSA_STD_ATMOSPHERE (1.01325e5) /* kg / m s^2 */
+#define GSL_CONST_MKSA_TORR (1.33322368421e2) /* kg / m s^2 */
+#define GSL_CONST_MKSA_METER_OF_MERCURY (1.33322368421e5) /* kg / m s^2 */
+#define GSL_CONST_MKSA_INCH_OF_MERCURY (3.38638815789e3) /* kg / m s^2 */
+#define GSL_CONST_MKSA_INCH_OF_WATER (2.490889e2) /* kg / m s^2 */
+#define GSL_CONST_MKSA_PSI (6.89475729317e3) /* kg / m s^2 */
+#define GSL_CONST_MKSA_POISE (1e-1) /* kg m^-1 s^-1 */
+#define GSL_CONST_MKSA_STOKES (1e-4) /* m^2 / s */
+#define GSL_CONST_MKSA_STILB (1e4) /* cd / m^2 */
+#define GSL_CONST_MKSA_LUMEN (1e0) /* cd sr */
+#define GSL_CONST_MKSA_LUX (1e0) /* cd sr / m^2 */
+#define GSL_CONST_MKSA_PHOT (1e4) /* cd sr / m^2 */
+#define GSL_CONST_MKSA_FOOTCANDLE (1.076e1) /* cd sr / m^2 */
+#define GSL_CONST_MKSA_LAMBERT (1e4) /* cd sr / m^2 */
+#define GSL_CONST_MKSA_FOOTLAMBERT (1.07639104e1) /* cd sr / m^2 */
+#define GSL_CONST_MKSA_CURIE (3.7e10) /* 1 / s */
+#define GSL_CONST_MKSA_ROENTGEN (2.58e-4) /* A s / kg */
+#define GSL_CONST_MKSA_RAD (1e-2) /* m^2 / s^2 */
+#define GSL_CONST_MKSA_SOLAR_MASS (1.98892e30) /* kg */
+#define GSL_CONST_MKSA_BOHR_RADIUS (5.291772083e-11) /* m */
+#define GSL_CONST_MKSA_NEWTON (1e0) /* kg m / s^2 */
+#define GSL_CONST_MKSA_DYNE (1e-5) /* kg m / s^2 */
+#define GSL_CONST_MKSA_JOULE (1e0) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_ERG (1e-7) /* kg m^2 / s^2 */
+#define GSL_CONST_MKSA_STEFAN_BOLTZMANN_CONSTANT (5.67040047374e-8) /* kg / K^4 s^3 */
+#define GSL_CONST_MKSA_THOMSON_CROSS_SECTION (6.65245893699e-29) /* m^2 */
+#define GSL_CONST_MKSA_BOHR_MAGNETON (9.27400899e-24) /* A m^2 */
+#define GSL_CONST_MKSA_NUCLEAR_MAGNETON (5.05078317e-27) /* A m^2 */
+#define GSL_CONST_MKSA_ELECTRON_MAGNETIC_MOMENT (9.28476362e-24) /* A m^2 */
+#define GSL_CONST_MKSA_PROTON_MAGNETIC_MOMENT (1.410606633e-26) /* A m^2 */
+#define GSL_CONST_MKSA_FARADAY (9.64853429775e4) /* A s / mol */
+#define GSL_CONST_MKSA_ELECTRON_CHARGE (1.602176487e-19) /* A s */
+#define GSL_CONST_MKSA_VACUUM_PERMITTIVITY (8.854187817e-12) /* A^2 s^4 / kg m^3 */
+#define GSL_CONST_MKSA_VACUUM_PERMEABILITY (1.25663706144e-6) /* kg m / A^2 s^2 */
+#define GSL_CONST_MKSA_DEBYE (3.33564095198e-30) /* A s^2 / m^2 */
+#define GSL_CONST_MKSA_GAUSS (1e-4) /* kg / A s^2 */
+
+#endif /* __GSL_CONST_MKSA__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_const_num.h b/thirdparty/includes/GSL/gsl/gsl_const_num.h
new file mode 100644
index 0000000..385a660
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_const_num.h
@@ -0,0 +1,43 @@
+/* const/gsl_const_num.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ * 2006, 2007, 2008, 2009 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_CONST_NUM__
+#define __GSL_CONST_NUM__
+
+#define GSL_CONST_NUM_FINE_STRUCTURE (7.297352533e-3) /* 1 */
+#define GSL_CONST_NUM_AVOGADRO (6.02214199e23) /* 1 / mol */
+#define GSL_CONST_NUM_YOTTA (1e24) /* 1 */
+#define GSL_CONST_NUM_ZETTA (1e21) /* 1 */
+#define GSL_CONST_NUM_EXA (1e18) /* 1 */
+#define GSL_CONST_NUM_PETA (1e15) /* 1 */
+#define GSL_CONST_NUM_TERA (1e12) /* 1 */
+#define GSL_CONST_NUM_GIGA (1e9) /* 1 */
+#define GSL_CONST_NUM_MEGA (1e6) /* 1 */
+#define GSL_CONST_NUM_KILO (1e3) /* 1 */
+#define GSL_CONST_NUM_MILLI (1e-3) /* 1 */
+#define GSL_CONST_NUM_MICRO (1e-6) /* 1 */
+#define GSL_CONST_NUM_NANO (1e-9) /* 1 */
+#define GSL_CONST_NUM_PICO (1e-12) /* 1 */
+#define GSL_CONST_NUM_FEMTO (1e-15) /* 1 */
+#define GSL_CONST_NUM_ATTO (1e-18) /* 1 */
+#define GSL_CONST_NUM_ZEPTO (1e-21) /* 1 */
+#define GSL_CONST_NUM_YOCTO (1e-24) /* 1 */
+
+#endif /* __GSL_CONST_NUM__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_deriv.h b/thirdparty/includes/GSL/gsl/gsl_deriv.h
new file mode 100644
index 0000000..7f4694f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_deriv.h
@@ -0,0 +1,50 @@
+/* deriv/gsl_deriv.h
+ *
+ * Copyright (C) 2000 David Morrison
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_DERIV_H__
+#define __GSL_DERIV_H__
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_deriv_central (const gsl_function *f,
+ double x, double h,
+ double *result, double *abserr);
+
+int gsl_deriv_backward (const gsl_function *f,
+ double x, double h,
+ double *result, double *abserr);
+
+int gsl_deriv_forward (const gsl_function *f,
+ double x, double h,
+ double *result, double *abserr);
+
+__END_DECLS
+
+#endif /* __GSL_DERIV_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_dft_complex.h b/thirdparty/includes/GSL/gsl/gsl_dft_complex.h
new file mode 100644
index 0000000..cb4d088
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_dft_complex.h
@@ -0,0 +1,55 @@
+/* fft/gsl_dft_complex.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_DFT_COMPLEX_H__
+#define __GSL_DFT_COMPLEX_H__
+
+#include
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_dft_complex_forward (const double data[], const size_t stride, const size_t n,
+ double result[]);
+
+int gsl_dft_complex_backward (const double data[], const size_t stride, const size_t n,
+ double result[]);
+
+int gsl_dft_complex_inverse (const double data[], const size_t stride, const size_t n,
+ double result[]);
+
+int gsl_dft_complex_transform (const double data[], const size_t stride, const size_t n,
+ double result[], const gsl_fft_direction sign);
+
+__END_DECLS
+
+#endif /* __GSL_DFT_COMPLEX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_dft_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_dft_complex_float.h
new file mode 100644
index 0000000..c511ac0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_dft_complex_float.h
@@ -0,0 +1,55 @@
+/* fft/gsl_dft_complex_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_DFT_COMPLEX_FLOAT_H__
+#define __GSL_DFT_COMPLEX_FLOAT_H__
+
+#include
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_dft_complex_float_forward (const float data[], const size_t stride, const size_t n,
+ float result[]);
+
+int gsl_dft_complex_float_backward (const float data[], const size_t stride, const size_t n,
+ float result[]);
+
+int gsl_dft_complex_float_inverse (const float data[], const size_t stride, const size_t n,
+ float result[]);
+
+int gsl_dft_complex_float_transform (const float data[], const size_t stride, const size_t n,
+ float result[], const gsl_fft_direction sign);
+
+__END_DECLS
+
+#endif /* __GSL_DFT_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_dht.h b/thirdparty/includes/GSL/gsl/gsl_dht.h
new file mode 100644
index 0000000..bfc4b2f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_dht.h
@@ -0,0 +1,87 @@
+/* dht/gsl_dht.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* Author: G. Jungman
+ */
+#ifndef __GSL_DHT_H__
+#define __GSL_DHT_H__
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+
+struct gsl_dht_struct {
+ size_t size; /* size of the sample arrays to be transformed */
+ double nu; /* Bessel function order */
+ double xmax; /* the upper limit to the x-sampling domain */
+ double kmax; /* the upper limit to the k-sampling domain */
+ double * j; /* array of computed J_nu zeros, j_{nu,s} = j[s] */
+ double * Jjj; /* transform numerator, J_nu(j_i j_m / j_N) */
+ double * J2; /* transform denominator, J_{nu+1}^2(j_m) */
+};
+typedef struct gsl_dht_struct gsl_dht;
+
+
+/* Create a new transform object for a given size
+ * sampling array on the domain [0, xmax].
+ */
+gsl_dht * gsl_dht_alloc(size_t size);
+gsl_dht * gsl_dht_new(size_t size, double nu, double xmax);
+
+/* Recalculate a transform object for given values of nu, xmax.
+ * You cannot change the size of the object since the internal
+ * allocation is reused.
+ */
+int gsl_dht_init(gsl_dht * t, double nu, double xmax);
+
+/* The n'th computed x sample point for a given transform.
+ * 0 <= n <= size-1
+ */
+double gsl_dht_x_sample(const gsl_dht * t, int n);
+
+
+/* The n'th computed k sample point for a given transform.
+ * 0 <= n <= size-1
+ */
+double gsl_dht_k_sample(const gsl_dht * t, int n);
+
+
+/* Free a transform object.
+ */
+void gsl_dht_free(gsl_dht * t);
+
+
+/* Perform a transform on a sampled array.
+ * f_in[0] ... f_in[size-1] and similarly for f_out[]
+ */
+int gsl_dht_apply(const gsl_dht * t, double * f_in, double * f_out);
+
+
+__END_DECLS
+
+#endif /* __GSL_DHT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_diff.h b/thirdparty/includes/GSL/gsl/gsl_diff.h
new file mode 100644
index 0000000..a145894
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_diff.h
@@ -0,0 +1,52 @@
+/* diff/gsl_diff.h
+ *
+ * Copyright (C) 2000 David Morrison
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_DIFF_H__
+#define __GSL_DIFF_H__
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+#ifndef GSL_DISABLE_DEPRECATED
+int gsl_diff_central (const gsl_function *f,
+ double x,
+ double *result, double *abserr);
+
+int gsl_diff_backward (const gsl_function *f,
+ double x,
+ double *result, double *abserr);
+
+int gsl_diff_forward (const gsl_function *f,
+ double x,
+ double *result, double *abserr);
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_DIFF_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_eigen.h b/thirdparty/includes/GSL/gsl/gsl_eigen.h
new file mode 100644
index 0000000..6de8dba
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_eigen.h
@@ -0,0 +1,347 @@
+/* eigen/gsl_eigen.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2006, 2007 Gerard Jungman, Brian Gough, Patrick Alken
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_EIGEN_H__
+#define __GSL_EIGEN_H__
+
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+typedef struct {
+ size_t size;
+ double * d;
+ double * sd;
+} gsl_eigen_symm_workspace;
+
+gsl_eigen_symm_workspace * gsl_eigen_symm_alloc (const size_t n);
+void gsl_eigen_symm_free (gsl_eigen_symm_workspace * w);
+int gsl_eigen_symm (gsl_matrix * A, gsl_vector * eval, gsl_eigen_symm_workspace * w);
+
+typedef struct {
+ size_t size;
+ double * d;
+ double * sd;
+ double * gc;
+ double * gs;
+} gsl_eigen_symmv_workspace;
+
+gsl_eigen_symmv_workspace * gsl_eigen_symmv_alloc (const size_t n);
+void gsl_eigen_symmv_free (gsl_eigen_symmv_workspace * w);
+int gsl_eigen_symmv (gsl_matrix * A, gsl_vector * eval, gsl_matrix * evec, gsl_eigen_symmv_workspace * w);
+
+typedef struct {
+ size_t size;
+ double * d;
+ double * sd;
+ double * tau;
+} gsl_eigen_herm_workspace;
+
+gsl_eigen_herm_workspace * gsl_eigen_herm_alloc (const size_t n);
+void gsl_eigen_herm_free (gsl_eigen_herm_workspace * w);
+int gsl_eigen_herm (gsl_matrix_complex * A, gsl_vector * eval,
+ gsl_eigen_herm_workspace * w);
+
+typedef struct {
+ size_t size;
+ double * d;
+ double * sd;
+ double * tau;
+ double * gc;
+ double * gs;
+} gsl_eigen_hermv_workspace;
+
+gsl_eigen_hermv_workspace * gsl_eigen_hermv_alloc (const size_t n);
+void gsl_eigen_hermv_free (gsl_eigen_hermv_workspace * w);
+int gsl_eigen_hermv (gsl_matrix_complex * A, gsl_vector * eval,
+ gsl_matrix_complex * evec,
+ gsl_eigen_hermv_workspace * w);
+
+typedef struct {
+ size_t size; /* matrix size */
+ size_t max_iterations; /* max iterations since last eigenvalue found */
+ size_t n_iter; /* number of iterations since last eigenvalue found */
+ size_t n_evals; /* number of eigenvalues found so far */
+
+ int compute_t; /* compute Schur form T = Z^t A Z */
+
+ gsl_matrix *H; /* pointer to Hessenberg matrix */
+ gsl_matrix *Z; /* pointer to Schur vector matrix */
+} gsl_eigen_francis_workspace;
+
+gsl_eigen_francis_workspace * gsl_eigen_francis_alloc (void);
+void gsl_eigen_francis_free (gsl_eigen_francis_workspace * w);
+void gsl_eigen_francis_T (const int compute_t,
+ gsl_eigen_francis_workspace * w);
+int gsl_eigen_francis (gsl_matrix * H, gsl_vector_complex * eval,
+ gsl_eigen_francis_workspace * w);
+int gsl_eigen_francis_Z (gsl_matrix * H, gsl_vector_complex * eval,
+ gsl_matrix * Z,
+ gsl_eigen_francis_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_vector *diag; /* diagonal matrix elements from balancing */
+ gsl_vector *tau; /* Householder coefficients */
+ gsl_matrix *Z; /* pointer to Z matrix */
+ int do_balance; /* perform balancing transformation? */
+ size_t n_evals; /* number of eigenvalues found */
+
+ gsl_eigen_francis_workspace *francis_workspace_p;
+} gsl_eigen_nonsymm_workspace;
+
+gsl_eigen_nonsymm_workspace * gsl_eigen_nonsymm_alloc (const size_t n);
+void gsl_eigen_nonsymm_free (gsl_eigen_nonsymm_workspace * w);
+void gsl_eigen_nonsymm_params (const int compute_t, const int balance,
+ gsl_eigen_nonsymm_workspace *w);
+int gsl_eigen_nonsymm (gsl_matrix * A, gsl_vector_complex * eval,
+ gsl_eigen_nonsymm_workspace * w);
+int gsl_eigen_nonsymm_Z (gsl_matrix * A, gsl_vector_complex * eval,
+ gsl_matrix * Z, gsl_eigen_nonsymm_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_vector *work; /* scratch workspace */
+ gsl_vector *work2; /* scratch workspace */
+ gsl_vector *work3; /* scratch workspace */
+
+ gsl_matrix *Z; /* pointer to Schur vectors */
+
+ gsl_eigen_nonsymm_workspace *nonsymm_workspace_p;
+} gsl_eigen_nonsymmv_workspace;
+
+gsl_eigen_nonsymmv_workspace * gsl_eigen_nonsymmv_alloc (const size_t n);
+void gsl_eigen_nonsymmv_free (gsl_eigen_nonsymmv_workspace * w);
+void gsl_eigen_nonsymmv_params (const int balance,
+ gsl_eigen_nonsymmv_workspace *w);
+int gsl_eigen_nonsymmv (gsl_matrix * A, gsl_vector_complex * eval,
+ gsl_matrix_complex * evec,
+ gsl_eigen_nonsymmv_workspace * w);
+int gsl_eigen_nonsymmv_Z (gsl_matrix * A, gsl_vector_complex * eval,
+ gsl_matrix_complex * evec, gsl_matrix * Z,
+ gsl_eigen_nonsymmv_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_eigen_symm_workspace *symm_workspace_p;
+} gsl_eigen_gensymm_workspace;
+
+gsl_eigen_gensymm_workspace * gsl_eigen_gensymm_alloc (const size_t n);
+void gsl_eigen_gensymm_free (gsl_eigen_gensymm_workspace * w);
+int gsl_eigen_gensymm (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector * eval, gsl_eigen_gensymm_workspace * w);
+int gsl_eigen_gensymm_standardize (gsl_matrix * A, const gsl_matrix * B);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_eigen_symmv_workspace *symmv_workspace_p;
+} gsl_eigen_gensymmv_workspace;
+
+gsl_eigen_gensymmv_workspace * gsl_eigen_gensymmv_alloc (const size_t n);
+void gsl_eigen_gensymmv_free (gsl_eigen_gensymmv_workspace * w);
+int gsl_eigen_gensymmv (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector * eval, gsl_matrix * evec,
+ gsl_eigen_gensymmv_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_eigen_herm_workspace *herm_workspace_p;
+} gsl_eigen_genherm_workspace;
+
+gsl_eigen_genherm_workspace * gsl_eigen_genherm_alloc (const size_t n);
+void gsl_eigen_genherm_free (gsl_eigen_genherm_workspace * w);
+int gsl_eigen_genherm (gsl_matrix_complex * A, gsl_matrix_complex * B,
+ gsl_vector * eval, gsl_eigen_genherm_workspace * w);
+int gsl_eigen_genherm_standardize (gsl_matrix_complex * A,
+ const gsl_matrix_complex * B);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_eigen_hermv_workspace *hermv_workspace_p;
+} gsl_eigen_genhermv_workspace;
+
+gsl_eigen_genhermv_workspace * gsl_eigen_genhermv_alloc (const size_t n);
+void gsl_eigen_genhermv_free (gsl_eigen_genhermv_workspace * w);
+int gsl_eigen_genhermv (gsl_matrix_complex * A, gsl_matrix_complex * B,
+ gsl_vector * eval, gsl_matrix_complex * evec,
+ gsl_eigen_genhermv_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+ gsl_vector *work; /* scratch workspace */
+
+ size_t n_evals; /* number of eigenvalues found */
+ size_t max_iterations; /* maximum QZ iterations allowed */
+ size_t n_iter; /* number of iterations since last eigenvalue found */
+ double eshift; /* exceptional shift counter */
+
+ int needtop; /* need to compute top index? */
+
+ double atol; /* tolerance for splitting A matrix */
+ double btol; /* tolerance for splitting B matrix */
+
+ double ascale; /* scaling factor for shifts */
+ double bscale; /* scaling factor for shifts */
+
+ gsl_matrix *H; /* pointer to hessenberg matrix */
+ gsl_matrix *R; /* pointer to upper triangular matrix */
+
+ int compute_s; /* compute generalized Schur form S */
+ int compute_t; /* compute generalized Schur form T */
+
+ gsl_matrix *Q; /* pointer to left Schur vectors */
+ gsl_matrix *Z; /* pointer to right Schur vectors */
+} gsl_eigen_gen_workspace;
+
+gsl_eigen_gen_workspace * gsl_eigen_gen_alloc (const size_t n);
+void gsl_eigen_gen_free (gsl_eigen_gen_workspace * w);
+void gsl_eigen_gen_params (const int compute_s, const int compute_t,
+ const int balance, gsl_eigen_gen_workspace * w);
+int gsl_eigen_gen (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector_complex * alpha, gsl_vector * beta,
+ gsl_eigen_gen_workspace * w);
+int gsl_eigen_gen_QZ (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector_complex * alpha, gsl_vector * beta,
+ gsl_matrix * Q, gsl_matrix * Z,
+ gsl_eigen_gen_workspace * w);
+
+typedef struct {
+ size_t size; /* size of matrices */
+
+ gsl_vector *work1; /* 1-norm of columns of A */
+ gsl_vector *work2; /* 1-norm of columns of B */
+ gsl_vector *work3; /* real part of eigenvector */
+ gsl_vector *work4; /* imag part of eigenvector */
+ gsl_vector *work5; /* real part of back-transformed eigenvector */
+ gsl_vector *work6; /* imag part of back-transformed eigenvector */
+
+ gsl_matrix *Q; /* pointer to left Schur vectors */
+ gsl_matrix *Z; /* pointer to right Schur vectors */
+
+ gsl_eigen_gen_workspace *gen_workspace_p;
+} gsl_eigen_genv_workspace;
+
+gsl_eigen_genv_workspace * gsl_eigen_genv_alloc (const size_t n);
+void gsl_eigen_genv_free (gsl_eigen_genv_workspace * w);
+int gsl_eigen_genv (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector_complex * alpha, gsl_vector * beta,
+ gsl_matrix_complex * evec,
+ gsl_eigen_genv_workspace * w);
+int gsl_eigen_genv_QZ (gsl_matrix * A, gsl_matrix * B,
+ gsl_vector_complex * alpha, gsl_vector * beta,
+ gsl_matrix_complex * evec,
+ gsl_matrix * Q, gsl_matrix * Z,
+ gsl_eigen_genv_workspace * w);
+
+
+
+typedef enum {
+ GSL_EIGEN_SORT_VAL_ASC,
+ GSL_EIGEN_SORT_VAL_DESC,
+ GSL_EIGEN_SORT_ABS_ASC,
+ GSL_EIGEN_SORT_ABS_DESC
+}
+gsl_eigen_sort_t;
+
+/* Sort eigensystem results based on eigenvalues.
+ * Sorts in order of increasing value or increasing
+ * absolute value.
+ *
+ * exceptions: GSL_EBADLEN
+ */
+
+int gsl_eigen_symmv_sort(gsl_vector * eval, gsl_matrix * evec,
+ gsl_eigen_sort_t sort_type);
+
+int gsl_eigen_hermv_sort(gsl_vector * eval, gsl_matrix_complex * evec,
+ gsl_eigen_sort_t sort_type);
+
+int gsl_eigen_nonsymmv_sort(gsl_vector_complex * eval,
+ gsl_matrix_complex * evec,
+ gsl_eigen_sort_t sort_type);
+
+int gsl_eigen_gensymmv_sort (gsl_vector * eval, gsl_matrix * evec,
+ gsl_eigen_sort_t sort_type);
+
+int gsl_eigen_genhermv_sort (gsl_vector * eval, gsl_matrix_complex * evec,
+ gsl_eigen_sort_t sort_type);
+
+int gsl_eigen_genv_sort (gsl_vector_complex * alpha, gsl_vector * beta,
+ gsl_matrix_complex * evec,
+ gsl_eigen_sort_t sort_type);
+
+/* Prototypes for the schur module */
+
+int gsl_schur_gen_eigvals(const gsl_matrix *A, const gsl_matrix *B,
+ double *wr1, double *wr2, double *wi,
+ double *scale1, double *scale2);
+
+int gsl_schur_solve_equation(double ca, const gsl_matrix *A, double z,
+ double d1, double d2, const gsl_vector *b,
+ gsl_vector *x, double *s, double *xnorm,
+ double smin);
+
+int gsl_schur_solve_equation_z(double ca, const gsl_matrix *A,
+ gsl_complex *z, double d1, double d2,
+ const gsl_vector_complex *b,
+ gsl_vector_complex *x, double *s,
+ double *xnorm, double smin);
+
+
+/* The following functions are obsolete: */
+
+/* Eigensolve by Jacobi Method
+ *
+ * The data in the matrix input is destroyed.
+ *
+ * exceptions:
+ */
+int
+gsl_eigen_jacobi(gsl_matrix * matrix,
+ gsl_vector * eval,
+ gsl_matrix * evec,
+ unsigned int max_rot,
+ unsigned int * nrot);
+
+
+/* Invert by Jacobi Method
+ *
+ * exceptions:
+ */
+int
+gsl_eigen_invert_jacobi(const gsl_matrix * matrix,
+ gsl_matrix * ainv,
+ unsigned int max_rot);
+
+
+
+__END_DECLS
+
+#endif /* __GSL_EIGEN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_errno.h b/thirdparty/includes/GSL/gsl/gsl_errno.h
new file mode 100644
index 0000000..b8e99b4
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_errno.h
@@ -0,0 +1,154 @@
+/* err/gsl_errno.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_ERRNO_H__
+#define __GSL_ERRNO_H__
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+enum {
+ GSL_SUCCESS = 0,
+ GSL_FAILURE = -1,
+ GSL_CONTINUE = -2, /* iteration has not converged */
+ GSL_EDOM = 1, /* input domain error, e.g sqrt(-1) */
+ GSL_ERANGE = 2, /* output range error, e.g. exp(1e100) */
+ GSL_EFAULT = 3, /* invalid pointer */
+ GSL_EINVAL = 4, /* invalid argument supplied by user */
+ GSL_EFAILED = 5, /* generic failure */
+ GSL_EFACTOR = 6, /* factorization failed */
+ GSL_ESANITY = 7, /* sanity check failed - shouldn't happen */
+ GSL_ENOMEM = 8, /* malloc failed */
+ GSL_EBADFUNC = 9, /* problem with user-supplied function */
+ GSL_ERUNAWAY = 10, /* iterative process is out of control */
+ GSL_EMAXITER = 11, /* exceeded max number of iterations */
+ GSL_EZERODIV = 12, /* tried to divide by zero */
+ GSL_EBADTOL = 13, /* user specified an invalid tolerance */
+ GSL_ETOL = 14, /* failed to reach the specified tolerance */
+ GSL_EUNDRFLW = 15, /* underflow */
+ GSL_EOVRFLW = 16, /* overflow */
+ GSL_ELOSS = 17, /* loss of accuracy */
+ GSL_EROUND = 18, /* failed because of roundoff error */
+ GSL_EBADLEN = 19, /* matrix, vector lengths are not conformant */
+ GSL_ENOTSQR = 20, /* matrix not square */
+ GSL_ESING = 21, /* apparent singularity detected */
+ GSL_EDIVERGE = 22, /* integral or series is divergent */
+ GSL_EUNSUP = 23, /* requested feature is not supported by the hardware */
+ GSL_EUNIMPL = 24, /* requested feature not (yet) implemented */
+ GSL_ECACHE = 25, /* cache limit exceeded */
+ GSL_ETABLE = 26, /* table limit exceeded */
+ GSL_ENOPROG = 27, /* iteration is not making progress towards solution */
+ GSL_ENOPROGJ = 28, /* jacobian evaluations are not improving the solution */
+ GSL_ETOLF = 29, /* cannot reach the specified tolerance in F */
+ GSL_ETOLX = 30, /* cannot reach the specified tolerance in X */
+ GSL_ETOLG = 31, /* cannot reach the specified tolerance in gradient */
+ GSL_EOF = 32 /* end of file */
+} ;
+
+void gsl_error (const char * reason, const char * file, int line,
+ int gsl_errno);
+
+void gsl_stream_printf (const char *label, const char *file,
+ int line, const char *reason);
+
+const char * gsl_strerror (const int gsl_errno);
+
+typedef void gsl_error_handler_t (const char * reason, const char * file,
+ int line, int gsl_errno);
+
+typedef void gsl_stream_handler_t (const char * label, const char * file,
+ int line, const char * reason);
+
+gsl_error_handler_t *
+gsl_set_error_handler (gsl_error_handler_t * new_handler);
+
+gsl_error_handler_t *
+gsl_set_error_handler_off (void);
+
+gsl_stream_handler_t *
+gsl_set_stream_handler (gsl_stream_handler_t * new_handler);
+
+FILE * gsl_set_stream (FILE * new_stream);
+
+/* GSL_ERROR: call the error handler, and return the error code */
+
+#define GSL_ERROR(reason, gsl_errno) \
+ do { \
+ gsl_error (reason, __FILE__, __LINE__, gsl_errno) ; \
+ return gsl_errno ; \
+ } while (0)
+
+/* GSL_ERROR_VAL: call the error handler, and return the given value */
+
+#define GSL_ERROR_VAL(reason, gsl_errno, value) \
+ do { \
+ gsl_error (reason, __FILE__, __LINE__, gsl_errno) ; \
+ return value ; \
+ } while (0)
+
+/* GSL_ERROR_VOID: call the error handler, and then return
+ (for void functions which still need to generate an error) */
+
+#define GSL_ERROR_VOID(reason, gsl_errno) \
+ do { \
+ gsl_error (reason, __FILE__, __LINE__, gsl_errno) ; \
+ return ; \
+ } while (0)
+
+/* GSL_ERROR_NULL suitable for out-of-memory conditions */
+
+#define GSL_ERROR_NULL(reason, gsl_errno) GSL_ERROR_VAL(reason, gsl_errno, 0)
+
+/* Sometimes you have several status results returned from
+ * function calls and you want to combine them in some sensible
+ * way. You cannot produce a "total" status condition, but you can
+ * pick one from a set of conditions based on an implied hierarchy.
+ *
+ * In other words:
+ * you have: status_a, status_b, ...
+ * you want: status = (status_a if it is bad, or status_b if it is bad,...)
+ *
+ * In this example you consider status_a to be more important and
+ * it is checked first, followed by the others in the order specified.
+ *
+ * Here are some dumb macros to do this.
+ */
+#define GSL_ERROR_SELECT_2(a,b) ((a) != GSL_SUCCESS ? (a) : ((b) != GSL_SUCCESS ? (b) : GSL_SUCCESS))
+#define GSL_ERROR_SELECT_3(a,b,c) ((a) != GSL_SUCCESS ? (a) : GSL_ERROR_SELECT_2(b,c))
+#define GSL_ERROR_SELECT_4(a,b,c,d) ((a) != GSL_SUCCESS ? (a) : GSL_ERROR_SELECT_3(b,c,d))
+#define GSL_ERROR_SELECT_5(a,b,c,d,e) ((a) != GSL_SUCCESS ? (a) : GSL_ERROR_SELECT_4(b,c,d,e))
+
+#define GSL_STATUS_UPDATE(sp, s) do { if ((s) != GSL_SUCCESS) *(sp) = (s);} while(0)
+
+__END_DECLS
+
+#endif /* __GSL_ERRNO_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft.h b/thirdparty/includes/GSL/gsl/gsl_fft.h
new file mode 100644
index 0000000..8870a88
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft.h
@@ -0,0 +1,51 @@
+/* fft/gsl_fft.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_H__
+#define __GSL_FFT_H__
+
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+typedef enum
+ {
+ gsl_fft_forward = -1, gsl_fft_backward = +1
+ }
+gsl_fft_direction;
+
+/* this gives the sign in the formula
+
+ h(f) = \sum x(t) exp(+/- 2 pi i f t)
+
+ where - is the forward transform direction and + the inverse direction */
+
+__END_DECLS
+
+#endif /* __GSL_FFT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_complex.h b/thirdparty/includes/GSL/gsl/gsl_fft_complex.h
new file mode 100644
index 0000000..c13f7ea
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_complex.h
@@ -0,0 +1,136 @@
+/* fft/gsl_fft_complex.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_COMPLEX_H__
+#define __GSL_FFT_COMPLEX_H__
+
+#include
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+/* Power of 2 routines */
+
+
+int gsl_fft_complex_radix2_forward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_backward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_inverse (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_transform (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_direction sign);
+
+int gsl_fft_complex_radix2_dif_forward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_dif_backward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_dif_inverse (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_radix2_dif_transform (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_direction sign);
+
+/* Mixed Radix general-N routines */
+
+typedef struct
+ {
+ size_t n;
+ size_t nf;
+ size_t factor[64];
+ gsl_complex *twiddle[64];
+ gsl_complex *trig;
+ }
+gsl_fft_complex_wavetable;
+
+typedef struct
+{
+ size_t n;
+ double *scratch;
+}
+gsl_fft_complex_workspace;
+
+
+gsl_fft_complex_wavetable *gsl_fft_complex_wavetable_alloc (size_t n);
+
+void gsl_fft_complex_wavetable_free (gsl_fft_complex_wavetable * wavetable);
+
+gsl_fft_complex_workspace *gsl_fft_complex_workspace_alloc (size_t n);
+
+void gsl_fft_complex_workspace_free (gsl_fft_complex_workspace * workspace);
+
+int gsl_fft_complex_memcpy (gsl_fft_complex_wavetable * dest,
+ gsl_fft_complex_wavetable * src);
+
+
+int gsl_fft_complex_forward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable * wavetable,
+ gsl_fft_complex_workspace * work);
+
+int gsl_fft_complex_backward (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable * wavetable,
+ gsl_fft_complex_workspace * work);
+
+int gsl_fft_complex_inverse (gsl_complex_packed_array data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable * wavetable,
+ gsl_fft_complex_workspace * work);
+
+int gsl_fft_complex_transform (gsl_complex_packed_array data,
+ const size_t stride, const size_t n,
+ const gsl_fft_complex_wavetable * wavetable,
+ gsl_fft_complex_workspace * work,
+ const gsl_fft_direction sign);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_COMPLEX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_fft_complex_float.h
new file mode 100644
index 0000000..d3ff395
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_complex_float.h
@@ -0,0 +1,139 @@
+/* fft/gsl_fft_complex_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_COMPLEX_FLOAT_H__
+#define __GSL_FFT_COMPLEX_FLOAT_H__
+
+#include
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+/* Power of 2 routines */
+
+
+int gsl_fft_complex_float_radix2_forward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_backward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_inverse (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_transform (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_direction sign);
+
+int gsl_fft_complex_float_radix2_dif_forward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_dif_backward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_dif_inverse (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n);
+
+int gsl_fft_complex_float_radix2_dif_transform (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_direction sign);
+
+/* Mixed Radix general-N routines */
+
+typedef struct
+ {
+ size_t n;
+ size_t nf;
+ size_t factor[64];
+ gsl_complex_float *twiddle[64];
+ gsl_complex_float *trig;
+ }
+gsl_fft_complex_wavetable_float;
+
+typedef struct
+{
+ size_t n;
+ float *scratch;
+}
+gsl_fft_complex_workspace_float;
+
+
+gsl_fft_complex_wavetable_float *gsl_fft_complex_wavetable_float_alloc (size_t n);
+
+void gsl_fft_complex_wavetable_float_free (gsl_fft_complex_wavetable_float * wavetable);
+
+gsl_fft_complex_workspace_float *gsl_fft_complex_workspace_float_alloc (size_t n);
+
+void gsl_fft_complex_workspace_float_free (gsl_fft_complex_workspace_float * workspace);
+
+
+int gsl_fft_complex_float_memcpy (gsl_fft_complex_wavetable_float * dest,
+ gsl_fft_complex_wavetable_float * src);
+
+
+int gsl_fft_complex_float_forward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable_float * wavetable,
+ gsl_fft_complex_workspace_float * work);
+
+int gsl_fft_complex_float_backward (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable_float * wavetable,
+ gsl_fft_complex_workspace_float * work);
+
+int gsl_fft_complex_float_inverse (gsl_complex_packed_array_float data,
+ const size_t stride,
+ const size_t n,
+ const gsl_fft_complex_wavetable_float * wavetable,
+ gsl_fft_complex_workspace_float * work);
+
+int gsl_fft_complex_float_transform (gsl_complex_packed_array_float data,
+ const size_t stride, const size_t n,
+ const gsl_fft_complex_wavetable_float * wavetable,
+ gsl_fft_complex_workspace_float * work,
+ const gsl_fft_direction sign);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_COMPLEX_FLOAT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h b/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h
new file mode 100644
index 0000000..6751e47
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h
@@ -0,0 +1,86 @@
+/* fft/gsl_fft_halfcomplex.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_HALFCOMPLEX_H__
+#define __GSL_FFT_HALFCOMPLEX_H__
+
+#include
+
+#include
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_fft_halfcomplex_radix2_backward (double data[], const size_t stride, const size_t n);
+int gsl_fft_halfcomplex_radix2_inverse (double data[], const size_t stride, const size_t n);
+int gsl_fft_halfcomplex_radix2_transform (double data[], const size_t stride, const size_t n);
+
+typedef struct
+ {
+ size_t n;
+ size_t nf;
+ size_t factor[64];
+ gsl_complex *twiddle[64];
+ gsl_complex *trig;
+ }
+gsl_fft_halfcomplex_wavetable;
+
+gsl_fft_halfcomplex_wavetable * gsl_fft_halfcomplex_wavetable_alloc (size_t n);
+
+void
+gsl_fft_halfcomplex_wavetable_free (gsl_fft_halfcomplex_wavetable * wavetable);
+
+
+int gsl_fft_halfcomplex_backward (double data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable * wavetable,
+ gsl_fft_real_workspace * work);
+
+int gsl_fft_halfcomplex_inverse (double data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable * wavetable,
+ gsl_fft_real_workspace * work);
+
+int gsl_fft_halfcomplex_transform (double data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable * wavetable,
+ gsl_fft_real_workspace * work);
+
+int
+gsl_fft_halfcomplex_unpack (const double halfcomplex_coefficient[],
+ double complex_coefficient[],
+ const size_t stride, const size_t n);
+
+int
+gsl_fft_halfcomplex_radix2_unpack (const double halfcomplex_coefficient[],
+ double complex_coefficient[],
+ const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_HALFCOMPLEX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex_float.h b/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex_float.h
new file mode 100644
index 0000000..e318367
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex_float.h
@@ -0,0 +1,86 @@
+/* fft/gsl_fft_halfcomplex_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_HALFCOMPLEX_FLOAT_H__
+#define __GSL_FFT_HALFCOMPLEX_FLOAT_H__
+
+#include
+
+#include
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_fft_halfcomplex_float_radix2_backward (float data[], const size_t stride, const size_t n);
+int gsl_fft_halfcomplex_float_radix2_inverse (float data[], const size_t stride, const size_t n);
+int gsl_fft_halfcomplex_float_radix2_transform (float data[], const size_t stride, const size_t n);
+
+typedef struct
+ {
+ size_t n;
+ size_t nf;
+ size_t factor[64];
+ gsl_complex_float *twiddle[64];
+ gsl_complex_float *trig;
+ }
+gsl_fft_halfcomplex_wavetable_float;
+
+
+gsl_fft_halfcomplex_wavetable_float * gsl_fft_halfcomplex_wavetable_float_alloc (size_t n);
+
+void
+gsl_fft_halfcomplex_wavetable_float_free (gsl_fft_halfcomplex_wavetable_float * wavetable);
+
+int gsl_fft_halfcomplex_float_backward (float data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable_float * wavetable,
+ gsl_fft_real_workspace_float * work);
+
+int gsl_fft_halfcomplex_float_inverse (float data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable_float * wavetable,
+ gsl_fft_real_workspace_float * work);
+
+int gsl_fft_halfcomplex_float_transform (float data[], const size_t stride, const size_t n,
+ const gsl_fft_halfcomplex_wavetable_float * wavetable,
+ gsl_fft_real_workspace_float * work);
+
+int
+gsl_fft_halfcomplex_float_unpack (const float halfcomplex_coefficient[],
+ float complex_coefficient[],
+ const size_t stride, const size_t n);
+
+int
+gsl_fft_halfcomplex_float_radix2_unpack (const float halfcomplex_coefficient[],
+ float complex_coefficient[],
+ const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_HALFCOMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_real.h b/thirdparty/includes/GSL/gsl/gsl_fft_real.h
new file mode 100644
index 0000000..e07a604
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_real.h
@@ -0,0 +1,80 @@
+/* fft/gsl_fft_real.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_REAL_H__
+#define __GSL_FFT_REAL_H__
+
+#include
+
+#include
+#include
+#include
+
+#undef __BEGIN_DECLS
+#undef __END_DECLS
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__BEGIN_DECLS
+
+int gsl_fft_real_radix2_transform (double data[], const size_t stride, const size_t n) ;
+
+typedef struct
+ {
+ size_t n;
+ size_t nf;
+ size_t factor[64];
+ gsl_complex *twiddle[64];
+ gsl_complex *trig;
+ }
+gsl_fft_real_wavetable;
+
+typedef struct
+ {
+ size_t n;
+ double *scratch;
+ }
+gsl_fft_real_workspace;
+
+gsl_fft_real_wavetable * gsl_fft_real_wavetable_alloc (size_t n);
+
+void gsl_fft_real_wavetable_free (gsl_fft_real_wavetable * wavetable);
+
+gsl_fft_real_workspace * gsl_fft_real_workspace_alloc (size_t n);
+
+void gsl_fft_real_workspace_free (gsl_fft_real_workspace * workspace);
+
+
+int gsl_fft_real_transform (double data[], const size_t stride, const size_t n,
+ const gsl_fft_real_wavetable * wavetable,
+ gsl_fft_real_workspace * work);
+
+
+int gsl_fft_real_unpack (const double real_coefficient[],
+ double complex_coefficient[],
+ const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_REAL_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fft_real_float.h b/thirdparty/includes/GSL/gsl/gsl_fft_real_float.h
new file mode 100644
index 0000000..7a7732f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fft_real_float.h
@@ -0,0 +1,79 @@
+/* fft/gsl_fft_real_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Brian Gough
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GSL_FFT_REAL_FLOAT_H__
+#define __GSL_FFT_REAL_FLOAT_H__
+
+#include
+
+#include
+#include
+#include